文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Java中的集合-Map

Java中的集合-Map

时间:2010-07-18  来源:blogzhoubo

Map接口没有继承Collection接口。它通过键的值指定数据存放位置。键值不能重复,但其值可以为null。

  • HashMap
  • Hashtable

HashMap

它用来将键-值映射关系存储到散列表中。它是线程不安全的。

 

public HashMap()//构造一个初始容量为16,加载因子为0.75的HashMap,容量为12(16x0.75)

public HashMap(int initialCapacity)//构造一个初始容量为initialCapacity的HashMap

public HashMap(int initialCapacity, float loadFactor)//构造一个指定初始容量和加载因子的HashMap

public HashMap(Map m)//构造一个与指定Map映射关系相同的HashMap

 

如果存取的数据超过了现在的容量,HashMap会自动增加容量,增加的容量是原来的容量的2倍加1。

 

public void clear()//删除映射中所有映射关系

public boolean containsKey(Object key)//判断HashMap中是否存在指定的键的映射关系

public boolean containsValue(Object value)//判断HashMap中是否存在指定的值的映射关系

public V get(Object key)//返回key所对应的值

public boolean isEmpty()//判断HashMap是否为空

public V put(K key, V value)//在映射中放入指定键与指定值

public void putAll(Map m)//将m复制到当前映射中

public int size()//返回映射中键-值映射关系的数目

public V remove(Object key)//删除映射中存在该键的映射关系

 

示例代码:

import java.util.HashMap;
import java.util.Iterator;

public class HashMapTest{
 public static void main(String[] args){
  HashMap hm = new HashMap(10,0.5f);
  hm.put(1,"a");
  hm.put(2,"b");
  System.out.println(hm.get(2));
  hm.remove(1);
  if(hm.containsKey(2))
   System.out.println("key 2 is exist"); 
  if(hm.containsValue("b"))
   System.out.println("value b is exist");
  HashMap hm2 = new HashMap(hm);
  hm2.put(3,"c");
  
  System.out.println("hm2 size:"+hm2.size());
  Iterator it = hm2.keySet().iterator();
  while(it.hasNext()){
   int key = Integer.parseInt(it.next().toString());
   System.out.println("key:"+key+"  value:"+hm2.get(key));
  }
 }
}

 

执行结果:

C:\javastudy>java HashMapTest
b
key 2 is exist
value b is exist
hm2 size:2
key:2  value:b
key:3  value:c

C:\javastudy>

 

Hashtable

它可以用来表示一个线程安全的散列表。使用方法和HashMap完全相同。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载