什么是Map集合
Map用于保存具有映射关系的数据,Map集合里保存着两组值,一组用于保存Map的ley,另一组保存着Map的value。
map集合的作用
和查字典类似,通过key找到对应的value,通过页数找到对应的信息。用学生类来说,key相当于学号,value对应name,age,sex等信息。用这种对应关系方便查找。
Map中的常用方法
void clear():删除该Map对象中所有键值对; boolean containsKey(Object key):查询Map中是否包含指定的key值; boolean containsValue(Object value):查询Map中是否包含一个或多个value; Set entrySet():返回map中包含的键值对所组成的Set集合,每个集合都是Map.Entry对象。 Object get():返回指定key对应的value,如果不包含key则返回null; boolean isEmpty():查询该Map是否为空; Set keySet():返回Map中所有key组成的集合; Collection values():返回该Map里所有value组成的Collection。 Object put(Object key,Object value):添加一个键值对,如果集合中的key重复,则覆盖原来的键值对; void putAll(Map m):将Map中的键值对复制到本Map中; Object remove(Object key):删除指定的key对应的键值对,并返回被删除键值对的value,如果不存在,则返回null; boolean remove(Object key,Object value):删除指定键值对,删除成功返回true; int size():返回该Map里的键值对个数;
-
Set entrySet()
:返回map中包含的键值对所组成的Set集合,每个集合都是Map.Entry对象。
-
Set keySet()
:返回Map中所有key组成的集合;
内部类Entry
Map中包括一个内部类Entry,该类封装一个键值对,常用方法:
-
Object getKey()
:返回该Entry里包含的key值;
-
Object getvalue()
:返回该Entry里包含的value值;
-
Object setValue(V value)
:设置该Entry里包含的value值,并设置新的value值。
HashMap<String, Integer> hm = new HashMap<>(); //放入元素 hm.put("xiaowang",23); hm.put("xiaoli",24); hm.put("Xiaohong",20); for (Map.Entry<String, Integer> entry : hm.entrySet()) { System.out.println(entry.getKey()); System.out.println(entry.getValue()); }