随笔 - 2  文章 - 721  评论 - 6  阅读 - 35万

文章分类 -  Java Collections

Arrays.sort()源码分析
摘要:static void sort(Object[] a, int lo, int hi, Object[] work, int workBase, int workLen) { assert a != null && lo >= 0 && lo int countRunAndMakeAscending(T[] a, int lo, int hi, ... 阅读全文
posted @ 2018-12-31 17:49 溪水静幽 阅读(369) 评论(0) 推荐(0) 编辑
TreeSet
摘要:TreeSet简介 TreeSet 是一个有序没有重复元素的集合,作用是提供有序的Set集合。继承于AbstractSet抽象类,实现NavigableSet<E>, Cloneable, java.io.Serializable接口。TreeSet 继承于AbstractSet,是一个Set集合, 阅读全文
posted @ 2018-10-15 16:11 溪水静幽 阅读(568) 评论(0) 推荐(0) 编辑
HashMap HashSet HashTable区别
摘要:(1)HashSet是set接口的一个实现类,hashMap是Map接口的一个实现类 (2)HashSet以对象作为存储元素,而HashMap以(key-value)的键值对对象作为存储元素 (3)HashSet不允许重复的元素(不允许包含重复的值),HashMap不允许重复的键,但是允许包含重复的 阅读全文
posted @ 2018-10-14 12:16 溪水静幽 阅读(336) 评论(0) 推荐(0) 编辑
HashMap闭合环路
摘要:很有可能就是在两个线程在这个时候同时触发了rehash操作,产生了闭合的回路。下面我们从源码中一步一步地分析这种回路是如何产生的。先看一下put操作: addEntry操作: 可以看到,如果现在size已经超过了threshold,那么就要进行resize操作: 看一下transfer操作,闭合的回 阅读全文
posted @ 2018-10-10 11:20 溪水静幽 阅读(336) 评论(0) 推荐(0) 编辑
WeakHashMap
摘要:WeakHashMap,从名字可以看出它是某种 Map。它的特殊之处在于 WeakHashMap 里的entry可能会被GC自动删除,即使程序员没有调用remove()或者clear()方法。 更直观的说,当使用 WeakHashMap 时,即使没有显示的添加或删除任何元素,也可能发生如下情况: 调 阅读全文
posted @ 2018-09-28 17:46 溪水静幽 阅读(171) 评论(0) 推荐(0) 编辑
Map接口综述
摘要:Map架构 (01) Map 是映射接口,Map中存储的内容是键值对(key-value)。(02) AbstractMap 是继承于Map的抽象类,实现了Map中的大部分API。其它Map的实现类可以通过继承AbstractMap来减少重复编码。(03) SortedMap 是继承于Map的接口。 阅读全文
posted @ 2018-09-27 17:08 溪水静幽 阅读(288) 评论(0) 推荐(0) 编辑
TreeMap红黑树
摘要:以Java TreeMap为例,从源代码层面,结合详细的图解,剥茧抽丝地讲解红黑树(Red-Black tree)的插入,删除以及由此产生的调整过程。 总体介绍 Java TreeMap实现了SortedMap接口,就是说会按照key的大小顺序对Map中的元素进行排序,key大小的评判可以通过其本身 阅读全文
posted @ 2018-09-27 16:14 溪水静幽 阅读(178) 评论(0) 推荐(0) 编辑
ArrayDeque详解
摘要:当需要使用栈时,Java已不推荐使用Stack,而是推荐使用更高效的ArrayDeque,当需要使用队列时也就首选ArrayDeque了(次选是LinkedList)。 Deque接口:Deque的含义是“double ended queue”,即双端队列,既可以当作栈使用,也可以当作队列使用 下表 阅读全文
posted @ 2018-09-26 18:05 溪水静幽 阅读(1389) 评论(0) 推荐(1) 编辑
Stack源码
摘要:简介 Stack是栈。它的特性是:先进后出(FILO, First In Last Out)。 java工具包中的Stack是继承于Vector(矢量队列)的,由于Vector是通过数组实现的,意味着,Stack也是通过数组实现的,而非链表 源码 总结: (01) Stack实际上也是通过数组去实现 阅读全文
posted @ 2018-09-26 11:38 溪水静幽 阅读(128) 评论(0) 推荐(0) 编辑
fail-fast机制
摘要:fail-fast 机制是java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。 例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出Concurre 阅读全文
posted @ 2018-09-25 12:38 溪水静幽 阅读(158) 评论(0) 推荐(0) 编辑
集合综述
摘要:Java集合工具包框架图(如下): Collection包含了List和Set两大分支。 (01) List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。 List(后缀):有序(存入和取出的顺序一致)列表,允许存放重复的元素; ArrayList:数组实现,查询快,增删慢,线程 阅读全文
posted @ 2018-09-24 21:26 溪水静幽 阅读(86) 评论(0) 推荐(0) 编辑
hashCode与equals
摘要:equals的作用 equals() 的作用是 用来判断两个对象是否相等。 equals() 定义在Object.java中。通过判断两个对象的地址是否相等(即,是否是同一个对象)来区分它们是否相等。源码如下: public boolean equals(Object obj) { return ( 阅读全文
posted @ 2018-09-23 10:21 溪水静幽 阅读(139) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示