JAVA集合的技术
一、Set 集合中的对象不排序。
Set 集合中不能包含重复的对象。
Set 集合最多只允许包含一个 null 元素。
二、HashMap 的实现原理:
HashMap 通过 put()保存,get()取值。HashMap 会根据 key计算出 hash 值,将 value 保存在 桶 里。当计算的 hash 值相同时,为 hash 冲突。HashMap 的做法是用链表和红黑树存储相同 hash 值的 value。在jdk1.8版本后,链表长度大于8的时候,将后面的数据存在红黑树中。
三、JAVA8中map新增的方法:
`getOrDefault` :如果Map中不存在该key,可以提供一个默认值,方法会返回改默认值。如果存在该key,返回键对应的值。
String value = map.getOrDefault("d", "D");
`forEach` :forEach遍历map,对map中的每个映射执行action指定的操作。
// 遍历
map.forEach((k, v)-> {
System.out.println(k + "=" + v);
map.put(k, k + v);
});
`putIfAbsent`:只有在不存在key值的映射或者映射值为null,才将value值赋值给key。否则不做修改。该方法将条件判断和赋值合二为一。
String e = map.putIfAbsent("e", "E");
`remove`(key,value) :只有在当前Map中key映射的值等于value时才删除该映射,否则什么也不做。
map.remove("b", "B");
`replace`:只有在当前Map中包含key,才用value去替换原来的值,否则什么也不做。
map.replace("c", "C");
原文:https://www.cnblogs.com/guosn/p/14539193.html