您现在的位置是:首页 > 文章详情

Java集合小记

日期:2018-04-14点击:554
Collection下集合
List
  是一个 有序集合,维持的顺序是元素插入的顺序, 允许元素重复
1.ArrayList:
  数组,查找元素很快,但删除元素和添加元素的效率相对较差, 默认大小是 10 个元素
2.LinkedList: 
  双向链表,删除、添加元素的效率很高,但查找元素的的效率较差
3.Vector:
  线程安全的按顺序存放的数组,大部分public方法都由synchronized修饰

Set
  不与许重复元素
1. HashSet:
  实现是HashMap,按照key的哈希值存储,无序
2. TreeSet:
  值有序,按照元素值大小排序,实现是NavigableMap(SortedMap子类/TreeMap)
3. SortedSet接口 :  有序,自己实现 comparator方法来排序
4. LinkedHashSet:   维持的顺序是元素插入的顺序

不属于collection,但与set超有关系的... ...
Map
1. HashMap : 元素无序,允许一个null key, 默认大小是 16 个元素
2. TreeMap :  使用红黑树实现
3. SortedMap接口 : 需自己实现 comparator方法实现排序
4. LinkedHashMap :  维持的顺序是元素插入的顺序
/**
* The iteration ordering method for this linked hash map: <tt>true</tt>
* for access-order, <tt>false</tt> for insertion-order.
*/
// 如果为true,则按照访问顺序;如果为false(default),则按照插入顺序。
private final boolean accessOrder;
/**
* 双向链表的表头元素。
 */
private transient Entry<K,V> header;

/**
* LinkedHashMap的Entry元素。
 */
// 继承HashMap的Entry元素,又保存了其上一个元素before和下一个元素after的引用
private static class Entry<K,V> extends HashMap.Entry<K,V> {
    Entry<K,V> before, after;
    ……
}
5. Hashtable : 
  是同步的,比较慢, 几乎所有的 public 的方法都是 synchronized 的,而有些方法也是在内部通过 synchronized 代码块来实现
, 不允许有个空的 key
原文链接:https://yq.aliyun.com/articles/581719
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章