![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合
旧城以西林
这个作者很懒,什么都没留下…
展开
-
HashMap中put与get的工作原理
一、Put :让我们看下put方法的源码实现:/** * Associates the specified value with the specified key in this map. If the * map previously contained a mapping for the key, the old value is * replaced. *原创 2017-12-27 20:30:57 · 2670 阅读 · 0 评论 -
HashTable、Vector、StringBuffer线程安全的原因
一、HashTable线程安全的原因:put方法是synchronized的所以可以保证其线程安全二、Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),但有些时候,也甭保证,比如:Vector test = Vector();..............for (i = 0; i < test.size(); i++原创 2017-12-31 16:12:04 · 2797 阅读 · 0 评论 -
HashMap的实现原理
1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。2. HashMap的数据结构: 在java编程语言中,最基本的结构转载 2018-01-01 17:07:24 · 179 阅读 · 0 评论 -
HashSet的实现原理
1.HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值都是统一的一个private static转载 2018-01-01 17:15:18 · 374 阅读 · 0 评论 -
LinkedHashMap的实现原理
1. LinkedHashMap概述: LinkedHashMap是Map接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 LinkedHashMap实现与HashMap的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序可以是插转载 2018-01-02 15:38:10 · 275 阅读 · 0 评论 -
ArrayList的实现原理
1. ArrayList概述: ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量也自动增长。转载 2018-01-02 15:45:56 · 195 阅读 · 0 评论 -
LinkedList的实现原理
1. LinkedList概述: List 接口的链接列表实现。实现所有可选的列表操作,并且允许所有元素(包括 null)。除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。此类实现 Deque 接口,为 add、poll 提供先进先出队列操作,以及其他堆栈和转载 2018-01-02 15:52:15 · 362 阅读 · 0 评论