栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

常用集合的一些特点汇总

Java 更新时间:发布时间: 百科书网 趣学号

1.首先我们常用的Map和List是出于两个分支,List和Set是Collection的子接口,而Map则是与Collection同级别的.

2.HashSet的底层是HashMap,所以我们理解HashMap的扩容机制即可. 

  1. 添加一个元素时,先得到hash值-会转成-->索引值
  2. 找到存储数据表table,到这个索引位置是否已经存放有元素,如果没有直接加入
  3. 如果有,调用equals比较,如果相同,就放弃添加,如果不相同,则添加到最后
  4. 如果一条链表的元素个数达到8,并且table的大小达到64,就会进行树化

3.List下面的集合类一般都是允许录入重复值的,而Set的集合类确是不允许出现重复值的

4.List和Set的实现集合都是单列集合,而Map的实现集合都是双列集合.

 

下表整理出了各个集合之间的特点:

Collection

Map

无序

不唯一

Collection

Map.value()

有序

不唯一

ArrayList

linkedList

无序

唯一

HashSet

HashMap

KeySet

有序

唯一

linkedHashSet

TreeSet

linkedHashMap

KeySet

TreeMap

KeySet

存储结构

输出顺序

唯一性

查询效率

添加/删除效率

ArrayList

顺序表

有序(添加)

不唯一

索引查询效率最高

效率低

linkedList

双向链表

有序(添加)

不唯一

效率低

效率高

HashSet

Hash表

无序

唯一

效率最高

效率最高

HashMap

Hash表

Key无序

key唯一

效率最高

效率最高

linkedHashSet

Hash表+链表

有序(添加)

唯一

效率最高

效率最高

linkedHashMap

Hash表+链表

Key有序(添加)

key唯一

效率最高

效率最高

TreeSet

红黑树

有序(自然)

唯一

效率中等

效率中等

TreeMap

红黑树

有序(自然)

key唯一

效率中等

效率中等

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/275919.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号