首页 课程 师资 教程 报名

Java集合框架总结

  • 2022-04-24 10:15:41
  • 1026次 动力节点

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

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

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。很老,而且它也是线程安全的。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交