java集合架构

2019-04-21 07:04:33来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

 

 

 Collection接口  与  Map接口

1 collection接口

特点:元素是 无序可重复的集合,无索引的,元素是单例值

子类 set接口  list接口

 

1.1 set接口

   特点:元素是无需不重复,无索引,底层数据结构是哈希表

        对应引用类型元素依赖两个方法:hashCode()equels()来保证元素的唯一性

   实现类:

Hashset实现类

特点 添加元素是无序不重复,无索引的

实现类LinkedHashSet

        特点:元素有序不重复的

TreeSet实现类

特点 元素是不重复可排序的(默认升序)

 

       底层数据结构是红黑树

 

1.2 List接口

特点:元素是有序有索引可重复的

实现类:

  LinkedList:底层数据结构是链表,查询慢,增删快。线程不安全,效率高

  Vector 底层数据结构是数据,查询快,增删慢。线程安全,效率低

  ArrayList  底层数据结构是数据,查询快,增删慢。线程不安全,效率高

 

2 map接口

特点:元素是键值对,元素特性有“键”决定,键的要求是无需不重复

实现类:

2.1 HashMap实现类

  特点:元素是无需不重复的,线程不安全,性能好,高并发下容易出现问题

        底层数据结构是哈希表      允许存放nullnull

   LinkedHashMap实现类:元素是有序不重复的额,新加了链保证添加顺序

2.2 IdetityHashMap 实现类:严格按照元素的引用进行重复比较,无序不重复的

2.3 Hashtable 实现类 元素是无序不重复的,线程安全,使用共享锁,性能差,高并发下竞争越激烈性能越差     不允许存放nullnull

2.4 ConcurrentHashMap 实现类: 元素是无序不重复的,线程安全,使用分段锁,性能得到了优化,高并发下建议使用

2.5 TreeMap 实现类:  元素是不重复课排序的额(默认升序), 底层数据结构基于红黑树  对应引用类型元素依赖两个方法:hashCode()equals()来保证元素值得唯一性

2.6 Properties 实现类:通常用于生成或者解析属性配置文件,属性文件中的数据就是键值对

 

 


原文链接:https://www.cnblogs.com/coderwsp/p/10742059.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Arthas

下一篇:变量类型、构造器、封装以及 LeetCode 每日一题