什么时候用List、Set或Map(Java中的集合框架体系)

导读:本篇文章讲解 什么时候用List、Set或Map(Java中的集合框架体系),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

集合框架体系

集合是Java中提供的一种容器,可以用来存储多个数据;

而由于存储的方式不同,就形成了很多不同的体系结构,统称为集合框架体系。

List

ArrayList

1、排序有序,可重复

2、底层使用数组

3、查询快,增删慢

4、线程不安全

5、当容量不够时—>当前容量*1.5 + 1

LinkedList

1、排列有序,可重复

2、底层使用链表

3、查询慢,增删快

4、线程不安全

Vector

1、排序有序,可重复

2、底层使用数组

3、查询快,增删慢

4、线程安全

5、当容量不够时—>默认扩容一倍

Set

HashSet

1、排列无序,不可重复

2、底层使用Hash表

3、存取速度快

4、内部是HashMap

TreeSet

1、排序无序,不可重复

2、底层使用二叉树

3、内部是TreeMap的SortedSet

LinkedHashSet

1、用Hash表存储,并用双向链表记录插入顺序

2、内部是LinkedHashMap

一般,线程不安全,效率会高,反之亦然。

Map

HashMap

1、键不可重复,值可重复

2、底层:

      在JDK1.7中,由”数组+链表“组成

      在JDK1.8中,有“数组+链表+红黑树”组成

3、线程不安全

4、key的值可以为null,value也可为null

HashTable

1、键不可重复,值可重复

2、底层是哈希表

3、线程安全

4、key、value都不能为null

TreeMap

1、键不可重复,值可重复

底层是二叉树

小结:
List、Set、Map选用
在存储元素时,是否需要给元素起名呢
{ 需要:用Map
{ 不需要:List、Set
    { 存储的元素需要考虑先后添加的顺序吗
    { 需要:用List
    { 不需要:用Set

如果需要保证集合元素不重复,也选用Set

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117928.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!