![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java集合
不带刺仙人球
这个作者很懒,什么都没留下…
展开
-
Fail-Fast机制
参考:https://blog.csdn.net/qq_33206732/article/details/80338354java.util.HashMap不是线程安全的,因此如果在使用迭代器的过程中有其他线程修改了map,那么将抛出ConcurrentModificationException,这就是所谓fail-fast策略。当多个线程对同一个集合的内容进行操作时,就可能会产生 fai...原创 2019-12-01 21:07:50 · 125 阅读 · 0 评论 -
HashSet
HashSet实现了Set接口,它不允许集合中出现重复元素。对于HashSet而言,它是基于HashMap实现的,底层采用HashMap来保存元素,而且只使用了HashMap的key来实现各种特性。相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成,我们应该为保存到HashSet中的对象覆盖hashCode()和equals(),以保证放入的对象的唯一性。Has...原创 2019-12-01 20:14:25 · 839 阅读 · 0 评论 -
TreeMap
TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。 该映射根据其键的自然顺序(字母排序)进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。 TreeMap是非线程安全的。 它的iterator 方法返回的迭代器是fail-fast的。 TreeMap类声明:public class TreeMap<K,V>...原创 2019-12-01 20:03:28 · 642 阅读 · 0 评论 -
LinkedHashMap
1、LinkedHashMap是有序的,是HashMap的子类,保留了插入的顺序,帮助我们实现了有序的HashMap。2、其维护一个双向的链表,重写了HashMap的实体类Entry,实现能够将HashMap的数据组成一个双向列表,其存储的结构还是数组+链表的形式。3、LinkedHashMap能够做到按照插入顺序或者访问顺序进行迭代顺序。4、修改Entry对象,Entry新增了其上一...原创 2019-12-01 19:55:37 · 2268 阅读 · 0 评论 -
HashTable
参考:https://blog.csdn.net/qq_33206732/article/details/80338354HashTable是线程安全的,因为几乎所有的public方法都是synchronized的Hashtable也是一个散列表,它存储的内容是键值对。基于Dictionary类 存储数据: 首先判断value是否为空,为空则抛出异常;计算key的hash值,并根据has...原创 2019-12-01 19:13:21 · 781 阅读 · 0 评论