欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java集合架构

程序员文章站 2022-09-10 15:07:56
Collection接口 与 Map接口 1 、collection接口 特点:元素是 无序可重复的集合,无索引的,元素是单例值 子类 :set接口 list接口 1.1 set接口 特点:元素是无需不重复,无索引,底层数据结构是哈希表 对应引用类型元素依赖两个方法:hashCode()和equel ......

 

 

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