JAVA集合学习Map

Map就是(key,value)一对一的映射关系;

key没有顺序,不允许重复,Map有一个keySet方法,返回一个key组成的Set集合;

value则可以重复,根据key作为索引来查找;

 

Map接口定义常用方法如下:

--void clear();删除该Map的所有key-value对;

--boolean containsKey(Object key);查询Map中是否包含指定key;

--boolean containValue(Object value)查询Map中是否包含指定value;

--Object get(Object key)返回指定key的对应value;如果没有则null;

--boolean isEmpty()查询是否为空;

--Set keySet()返回所有key组成的Set集合

--Object put(Object key, Object value)添加新的key-value对(如果key有了,则新的覆盖旧的);

--void putAll(Map m)将指定的Map复制到本Map中

--Object remove(Object key)删除指定key的key-value对;

--int size()返回该Map里德key-value个数;

--Collection values() 返回该Map中所有value组成的Collection;

--Set entrySet()返回Map中所包含的key-value对所组成的Set集合,每个集合元素都是Map.Entry的对象;(Entry为Map内部类)

 

----Entry作为Map的一个内部类,封装了key-value对,包含三个方法:

1,Object getKey();返回Entry里的Key值;

2,Object getValue();返回Entry里的Value值;

3,Object setValue(V value)设置该Entry里包含的value值,并返回新的value值;

 

 

---HashMap和Hashtable是Map的2个主要实现类:

(HashTable不允许把null作为key和value);

HashMap hm = new HashMap();
hm.put(1,"a");
hm.put(2,"b");
hm.put(3,"c");
Iterator it = hm.keySet().iterator();
while(it.hasNext()){
  int key = (int) it.next();
  System.out.println(key+"----->");
  System.out.println(hm.get(key));
}

 

你可能感兴趣的:(java,C++,c,C#)