![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java集合
小王小王全是脂肪
加油吧
展开
-
Java集合 1:List,Set,Map的区别
List: 1.可以允许重复的对象。 2.可以插入多个null元素。 3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。 4.常用的实现类有ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List ...原创 2019-07-29 19:16:21 · 103 阅读 · 0 评论 -
Java集合 2:ArrayList,LinkedList,Vector的区别
一,线程安全 ArrayList和LinkedList都是线程不安全的,用在单线程环境中。如果一定在并发环境下使用,需要雍Collections类的synchronized()方法来调用。 Vector则是线程安全的,它的大部分方法都有关键字synchronized,但是效率没有前两者高。 二,扩容机制 ArrayList和Vector底层都是由Object的数组形式实现的,当进行扩容时,...原创 2019-07-29 22:31:53 · 90 阅读 · 0 评论 -
Java集合 3:HashMap,HashTable的实现和区别
一,先说说HashMap HashMap的数据结构 transient Entry[] table; static class Entry<K,V> implements Map.Entry<K,V>{ final K key; V value; Entry<K,V> next; ...原创 2019-07-30 20:35:40 · 100 阅读 · 0 评论 -
Java集合 4:ConcurrentHashMap的原理
在ConcurrentHashMap中,键值都不允许为null; ConcurrentHashMap使用分段锁技术,把区间按并发级别分成了若干个sagement,给每个segment配锁,当线程占用锁访问其中一个segment时其他segment内数据也能被其他线程访问,读操作大部分时间不用上锁,只有在size等操作时才需要锁住整个hash表。 ConcurrentHashMap使用Reent...原创 2019-07-30 20:41:45 · 129 阅读 · 0 评论 -
Java集合5:集合中的设计模式
迭代器模式 Collection 继承了 Iterable 接口,其中的 iterator() 方法能够产生一个 Iterator 对象,通过这个对象就可以迭代遍历 Collection 中的元素。 从 JDK 1.5 之后可以使用 foreach 方法来遍历实现了 Iterable 接口的聚合对象。 List<String> list = new ArrayList...原创 2019-07-31 17:49:58 · 1349 阅读 · 0 评论