专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java集合框架总结

Java集合框架总结

更新时间:2022-04-24 10:15:41 来源:赢咖4 浏览1015次

集合是包含在单个对象中的一组对象。

集合框架是一组用于存储集合的类,它由四个主要接口组成:

List:允许重复的元素的有序集合,可以通过int索引访问。

Set:不允许重复条目的集合。

队列:以特定顺序对其元素进行排序以进行处理的集合。

Map:将键映射到值的集合,不允许重复键。

Collection接口是除地图之外的所有集合的根。Map 没有实现 Collection 接口,但它被认为是 Collections Framework 的一部分,因为它包含一组对象。

列表界面

是可以包含重复条目的有序集合。可以根据int索引在列表中的特定位置插入和检索项目。

列出实现

数组列表

ArrayList 就像一个可调整大小的数组。添加元素时,ArrayList 会自动增长。

使用此实现的主要好处是可以在恒定时间内查找任何元素。添加或删除元素比访问元素慢。

这使得 ArrayList 在需要读取多于写入时成为一个不错的选择。

链表

是一个特殊的实现,因为它同时实现了 List 和 Queue 接口。

使用它的主要好处是可以在恒定时间内从列表的开头和结尾访问、添加和删除元素。权衡是处理任意索引需要线性时间。

这使得 LinkedList 在用作队列时是一个不错的选择。

向量

是一个被 ArrayList 取代的旧实现。Vector 与 ArrayList 执行相同的操作,但速度较慢,但​​好处是线程安全。

是一种数据结构的旧实现,其中可以从堆栈顶部添加和删除元素。

设置界面

不允许重复条目的集合。

设置实现

哈希集

将其元素存储在哈希表中的集合。这意味着它使用对象的hashCode()方法来更有效地检索它们。

主要好处是添加元素和检查元素是否在集合中都有恒定的时间。

折衷是丢失了插入元素的顺序。

树集

将其元素插入排序树结构的集合。

主要好处是结构总是有序的。

权衡是添加和检查元素是否存在都是 O(log n)。

队列接口

以特定顺序添加和删除元素时使用的集合。假定为 FIFO(先进先出),但它可以根据实现而改变。

队列实现

链表

双端队列,允许从结构的前后插入和删除元素。

数组队列

它将其元素存储在一个可调整大小的数组中,并且比 LinkedList 更有效。

这种实现的主要好处是它是双端的,它可以根据需要用作 LIFO 或 FIFO 结构。

地图界面

通过键标识值的接口。

地图实现

哈希映射

将键存储在哈希表中。这意味着使用键的hashCode()方法更有效地检索它们的值。

主要的好处是通过键添加和检索元素是在恒定时间内发生的。

折衷是丢失了插入元素的顺序。

LinkedHashMap

当元素的插入顺序很重要时使用。

树状图

将键存储在排序的树结构中。主要好处是键总是被排序的。

权衡是添加和检查是否存在密钥发生在 O(log n) 时间内。

哈希表

类似于 List 接口的 Vector。很老,而且它也是线程安全的。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>