
Java集合
一点一滴g
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java集合三:Iterator,fail-fast机制与比较器
Iterator 迭代对于我们搞Java的来说绝对不陌生。我们常常使用JDK提供的迭代接口进行Java集合的迭代。 迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式。Iterator模式是用于遍历集合类的标准访问方法。 它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构。 java.util.Iterator ...转载 2019-07-28 22:08:13 · 181 阅读 · 0 评论 -
Java集合四:HashMap、HashTable和ConcurrentHashMap
区别 HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 初始size为11,扩容:newsize = olesize*2+1 计算index的方法:index = (hash & 0x7FFFFFFF) % tab.length ...原创 2019-07-29 11:29:13 · 139 阅读 · 0 评论 -
Java集合五:LinkedHashMap和LRU缓存
HashMap和双向链表合二为一即是LinkedHashMap。所谓LinkedHashMap,其落脚点在HashMap,因此更准确地说,它是一个将所有Entry节点链入一个双向链表的HashMap。 由于LinkedHashMap是HashMap的子类,所以LinkedHashMap自然会拥有HashMap的所有特性。比如,LinkedHashMap的元素存取过程基本与HashMap基本类似,只...转载 2019-07-29 12:10:58 · 233 阅读 · 0 评论 -
Java集合六:TreeMap和红黑树
TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。 TreeSet 和 TreeMap 的关系 为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码: public class TreeSet<E> extends AbstractSet<E> impl...转载 2019-07-29 13:30:35 · 156 阅读 · 0 评论 -
Java集合七:HashSet,TreeSet与LinkedHashSet
HashSet 定义 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable HashSet继承AbstractSet类,实现Set、Cloneable、Serializable接口。其中Abstract...转载 2019-07-29 15:25:56 · 151 阅读 · 0 评论 -
Java集合一:ArrayList,Vector与Stack
将ArrayList,Vector与Stack放在一起学习是因为它们的底层实现都是基于数组,这样便于理解。 ArrayList ArrayList是实现List接口的动态数组,所谓动态就是它的大小是可变的。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是...转载 2019-07-26 14:09:40 · 186 阅读 · 0 评论 -
Java集合二:LinkedList和Queue
LinkedList 实现List接口与Deque接口的双向链表,实现了列表的所有操作,并且允许包括null值的所有元素。 先简单介绍一下上图的基础类: 1.Collection 接口: Collection接口是所有集合类的根节点,Collection表示一种规则,所有实现了Collection接口的类遵循这种规则 2.List 接口: List是Collection的子接口,它是一个元素有序...原创 2019-07-26 16:09:05 · 783 阅读 · 0 评论