java集合架构

 

 

 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 实现类:通常用于生成或者解析属性配置文件,属性文件中的数据就是键值对

 

猜你喜欢

转载自www.cnblogs.com/coderwsp/p/10742059.html