java集合
文章平均质量分 52
每一个不曾起舞的日子,都是对生命的辜负
这个作者很懒,什么都没留下…
展开
-
快速失败(fail-fast)与安全失败(fail-safe)
1. 快速失败1.1 说明在使用迭代器遍历集合过程中,如果线程A正在对集合进行遍历,此时线程B对集合进行了修改(增加,删除,修改),或者线程A自己在遍历过程中对集合进行修改。都会导致线程A抛出ConcurrentModificationException异常1.2 实现原理集合中维护了一个变量modCount标识修改次数,任何修改操作都会使modCount变量发生变化 集合中的迭代器实现类Iterator接口,每当迭代器使用hasNext()/next()遍历下一个元素之前,都会检查modC原创 2021-09-17 14:45:09 · 689 阅读 · 0 评论 -
集合的一些方法
1. ArrayListindexof(Object o) : 查询不到返回-1 lastIndexof(Object o) : 倒序遍历,查询不到返回-1 contains(Object o) : 直接调用indexof方法,根据返回是否为-1判断元素是否存在 set(index,obj) : 修改指定索引处的值 add(obj) :尾部追加值,可能引起扩容 remove(int)...原创 2021-08-03 14:38:49 · 49 阅读 · 0 评论 -
02_java集合
2.2 如何决定使用HashMap还是TreeMap?HashMap:插入,删除,定位一个元素快TreeMap:有序遍历集合快2.3 HashMap实现原理HashMap基于Hash算法实现的,当我们通过put存储,get获取时,HashMap会根据key.hashCode()计算hash值,根据hash值将value保存在bucket中。当计算出hash值有相同时,即产生了hash冲突,HashMap是通过链表和红黑树来存储相同的hash值得value,如果冲突个数较少使用链表,否则红黑树原创 2021-01-15 01:39:57 · 53 阅读 · 0 评论