Java.util.Map
概述
特点:
1.双列集合
2.Key不重复,value可重复
3.Key,value数据类型可以相同,也可以不同
4.Key和value一一对应
常用方法
V put(Object key)
返回值是该key值之前对应的value值。
V remove(Object key)
返回值是该key值之前对应的value值。(使用包装类接收,int不能接受null值)。
V get(Object key)
根据指定键,在map集合中找对应的值。
Boolean containsKey(Object key)
判断集合中是否包含指定的键。
Keyset()
entrySet()
遍历
通过键找值的方式遍历map集合。
- keySet()将map集合中所有的key取出放入set集合。
- 通过增强for循环或迭代器遍历set集合。来获取Map集合中的每一个key。
- 使用get(key)获取value。
- 使用Map方法entrySet()将map集合中多个Entry对象取出来,存储到一个set集合。
- 遍历set集合,获取每一个Entry对象
- 使用Entry对象中的方法getKey(),getValue()获取键与值。
System.out.println("keySet方法迭代器遍历:"); Set<Character> set=map.keySet(); // 迭代器遍历 Iterator<Character> it=set.iterator(); while(it.hasNext()) { char ch1=it.next(); System.out.print(ch1+"->>"+map.get(ch1)+"\t"); } System.out.println(); System.out.println("keySet方法forEach遍历:"); // forEach遍历 for (Character arr:set) { System.out.print(arr+"-->"+map.get(arr)+"\t"); }
使用entry对象遍历键值对
Set<Map.Entry<Character,Integer>> set1=map.entrySet(); // 迭代器遍历 System.out.println("Entry对象迭代器遍历:"); Iterator<Map.Entry<Character,Integer>> it1=set1.iterator(); while (it1.hasNext()){ Map.Entry<Character,Integer> entry=it1.next(); Character ch2=entry.getKey(); Integer inte=entry.getValue(); System.out.print(ch2+"-->"+inte+"\t"); } System.out.println(); // forEach遍历 System.out.println("Entry对象forEach遍历:"); for (Map.Entry<Character,Integer> arr1:set1) { Map.Entry<Character,Integer> entry1=arr1; System.out.print(entry1.getKey()+"-->"+entry1.getValue()+"\t"); }
HashMap和LinkedHashMap
无序和有序。