全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

List和Set及其各自子类有什么区别?

发布时间:2022-08-01 11:50:00
发布人:wjy

  ArrayList,LinkedList,Vector都属于List。

List和Set及其各自子类有什么区别

  1. List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引)

  |-- ArrayList: 底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步

  |-- LinkedList:底层使用的是链表数据结构,特点是:增 删很快,查询慢。

  |--Vector: 底层是数组数据结构,线程同步,被ArrayList代替了,现在用的只有他的枚举。

  2. Set:元素是无序的,且不可以重复(存入和取出的顺序不一定一致),线程不同步

  |--HashSet:底层是哈希表数据结构。根据hashCode和equals方法来确定元素的唯一性。

  |--TreeSet:可以对Set集合中的元素进行排序(自然循序),底层的数据结构是二叉树,也可以自己写个类实现Comparable 或者 Comparator 接口,定义自己的比较器,将其作为参数传递给TreeSet的构造函数。

  3. Map:这个集合是存储键值对的,一对一对往里存,而且要确保键的唯一性(01,张三)这样的形式打印出来就是 01=张三

  |--HashTable:底层是哈希表数据结构,不可以存入null键和null值,该集合线程是同步的,效率比较低。出现于JDK1.0

  |--HashMap:底层是哈希表数据结构,可以存入null键和null值,线程不同步,效率较高,代替了HashTable,出现于JDK。

  |--TreeMap:底层是二叉树数据结构,线程不同步,可以用于个map集合中的键进行排序。

  更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。

相关文章

OKR与自驱力的关系是什么?

OKR与自驱力的关系是什么?

2023-10-14
office是什么软件类型?

office是什么软件类型?

2023-10-14
Cloud-IDE 是什么?

Cloud-IDE 是什么?

2023-10-14
主机和端系统之间有什么不同?

主机和端系统之间有什么不同?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取