这篇博客将从数据结构角度中的一些List与Set集合与一个重要的Map集合
- Map集合概述 Map<K,V>
将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射一个值
特点: 1.Map集合是一个双列集合 K:key / V:value
2.K:key / V:value的数据类型可以相同也可以不同
3.key是可以重复的,value是不可以重复的 并两者一一对应
Map集合的常用实现类有 hashmap与linkedHashmap
用过API文档可查询一些常用方法 - Map集合遍历键值对的两种方法
- 1.通过键找值
map集合中有方法SetkeySet()返回此映射中的包含的键的Set视图
步骤:1.使用keySet()方法取出后存储到一个Set集合中
2.遍历Set集合获取Map集合中的每一个key
3.通过Map集合的方法get(key)找到value - 2.Entry键值对对象
Map接口中有一个内部接口Entry,用来记录键与值(键值对对象)Entry中有方法getkey()与getvalue()
步骤大致同上也是使用Set<Map.Entry<String,Integer>>set =map.entrySet();将多个Entry对象取出放入Set集合中
遍历Set集合获取每一个Entry对象
eg:使用迭代器遍历set集合
Iterator<Map.Entry<String,Integer>>it = set.Iterator();
while(it.hasNext()){
Map.Entry<String,Integer> entry = it.next();
} - 静态方法 of
在JDK9中添加了一个新特性
在list,set,map接口里边添加了一个静态方法of,可以给集合一次性添加多个元素
使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用
注意:Set与Map中不能存储重复元素,of的返回值是一个不可改变大小的数组,只适用于三个接口而不是用与三个接口的实现类。