更新时间:2022-04-24 10:15:41 来源:极悦 浏览1156次
集合是包含在单个对象中的一组对象。
集合框架是一组用于存储集合的类,它由四个主要接口组成:
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。很老,而且它也是线程安全的。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习