Map中的元素是以键值对的形式存在的,即key-value。key是唯一的不能重复,但value可以重复。
Map.keySet():
这个方法返回的就是map集合中所有键Key的一个Set集合。如Map<Integer,String> 中put(1, “张三”),put(2, “李四”);那keySet()返回的就是一个Set集合,存储的是key值1,2
Map.entry<K,V>:
这个可以看做是存储一个键值对,通过getKey()和getValue()方法可以直接获取到键和值。
Map.entrySet():
这个存储的就是所有的键值对,也就是所有Map.Entry<K,V>的一个Set集合。返回的是Set<Map.Entry<K,V>>,主要是用在Map的遍历上。
实例应用:
Map<String, Map<Integer, SalePriceLine>> ouLineMap = new HashMap<>(ouCodes.size());
使用Map.entrySet()进行for循环,循环中每一个元素的类型都是Map.Entry<K,V>。然后获取每一个元素中的key和value是直接通过getKey()和getValue方法,获取Map中的所有主键则通过keySet(),得到一个Set集合,通过forEach可以遍历每一个key