码迷,mamicode.com
首页 > 编程语言 > 详细

java集合

时间:2019-05-26 17:42:54      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:www   键值   color   array   link   nav   navig   增删改   二分   

参考: 杨洛平 https://www.cnblogs.com/yangliguo/p/7476788.html

简单整理

List:有序可重复

  ArrayList    基于数组

    查询效率高,增删改效率低。

  LinkedList  基于链表

    查询效率低,增删改效率高。

    如果操作的index如果大于LinkedList长度的二分之一时是从后往前找(一个优化,LinkedList的两个指针,一个在first,一个在last)

Set:无序不重复

  HashSet  

    基于HashMap;key是HashSet的值,value都是 private static final Object PRESENT = new Object();

    是可以存null的;

  LinkedHashSet

    有序,顺序为存入数据的顺序;

    是可以存null的;

  TreeSet  

    基于TreeMap;key是HashSet的值,value都是 private static final Object PRESENT = new Object();

    是根据元素的自然顺序排序,也可以根据创建set时提供的Comparator进行排序

Map:键值对的形式存储数据(键唯一,值不唯一)

  HashMap

    默认容量、负载因子分别是16和0.75。

    非线程安全;

    键和值都可以为null;

    效率高;

  LinkedHashMap

    有序的HashMap,顺序为数据存入的先后顺序

    键和值都可以为null;

  ConcurrentHashMap

    线程安全

    效率比HashTable高,因为采用的是分段锁的机制

    键和值都不能为null;这里有比较合理的解释https://blog.csdn.net/gagewang1/article/details/54971965

  HashTable

    线程安全;

    键和值都不能为null;这里有比较合理的解释https://blog.csdn.net/gagewang1/article/details/54971965

    效率低;

  TreeMap

    基于红黑树的NavigableMap实现的

    非线程安全

    键不能为null,值可以为null;

    根据元素的自然顺序进行排序。

java集合

标签:www   键值   color   array   link   nav   navig   增删改   二分   

原文地址:https://www.cnblogs.com/hdljdylzsx/p/10926664.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!