小白学java第39天
HashSet:
1.HashSet实现了Set接口
2.HashSet实际上是HashMap
3.可以存放null值,但是只有一个null
4.HashSet不保证元素是有序的,取决于hash后,再确定索引的结果(即:不能保证存放元素的顺序和取出的顺序一致)
5.不能有重复元素/对象
Map(jdk 8)这里使用实现类HashMap进行介绍:
1.Map与Collection并列存在,用于保存具有映射关系的数据:Key-Value(双列元素)
2.Map中的Key和Value可以是任何引用类型的数据,会封装到HashMap#Node对象中
3.Map中的Key不允许重复,原因和HashSet一样
4.Map中的value可以重复
5.Map的key可以为null,value也可以为null,注意key为null时只能有一个,而value可以有多个空
6.常用String类作为Map的key
7.key和value之间存在单向一对一关系,即通过指定的key总能找到对应的value
8.一对key-value 是存放在一个HashMap#Node中的
Map接口的常用方法:
1. put:添加
2.remove:根据键删除映射关系
3.get:根据键获取值
4.size:获取元素个数
5.isEmpty:判断个数是否为0
6.clear:清除
7.containsKey:查找键是否存在
Map的遍历方法:
一,先取出key再根据key取出value
1.增强for循环
for (Object key : keyset) {
System.out.printLn(key + "一" + map. get(key));
}
2.迭代器 iterator
Iterator iterator = keyset.iterator();
while (iterator.hasNext){
0bject key = iterator.next();
System.out.println(key + “-" +map.get(key));
}
二,将所有的value取出
Collection values = map.values();(这样就可以使用Collection所有的遍历方法)
1.增强for
2.迭代器
三,通过EnterySet来获取k-v
1.增强for
2.迭代器