指的是在 Java 程序中创建和使用的集合对象,这些对象用于存储和操作数据。Java 集合框架提供了一系列的接口和实现类,用于管理不同类型的数据集合。


输出结果:

修改LinkedList元素的位置:

输出结果:

`LinkedList` 操作序列如下:
1. `list.add("一");` —— 将 "一" 添加到列表末尾。
2. `list.addFirst("二");` —— 将 "二" 添加到列表开头。
3. `list.addLast("三");` —— 将 "三" 添加到列表末尾。
4. `list.add(0, "四");` —— 在索引 0 处插入 "四",这会将之前位于位置 0 的元素向后移动一位。
5. `list.add("五");` —— 将 "五" 添加到列表末尾。
6. `list.add(5, "六");` —— 在索引 5 处插入 "六",这会将之后的所有元素向后移动一位。
在这些操作之后,`LinkedList` 的内容如下:
- 初始时,`list` 为空。
- 第一步,`list` 内容为 ["一"]。
- 第二步,`list` 内容变为 ["二", "一"],因为 `addFirst` 方法将元素添加到列表的开头。
- 第三步,`list` 内容变为 ["二", "一", "三"],`addLast` 方法将 "三" 添加到了列表的末尾。
- 第四步,`list` 内容变为 ["四", "二", "一", "三"],`add(0, "四")` 方法在索引 0 处插入了 "四",并将之前的元素向后移动。
- 第五步,`list` 内容变为 ["四", "二", "一", "三", "五"],`add("五")` 方法将 "五" 添加到了列表的末尾。
- 最后一步,`list` 内容变为 ["四", "二", "一", "三", "五", "六"],`add(5, "六")` 方法在索引 5 处插入了 "六",此时 "五" 已经在索引 4 的位置,因此 "六" 被正确地插入到了 "五" 的后面。
因此,最终输出的 `LinkedList` 内容应为:
输出结果:
["四", "二", "一", "三", "五", "六"]
在这个列表中,“三”确实出现在“五”的前面,这是因为“三”是在“五”添加之前就已经添加到了列表的末尾(步骤 3),然后在后续的操作中,没有进一步的修改影响到“三”的位置,直到“五”和“六”被添加到了列表的末尾(步骤 5 和 6)。所以,“三”自然位于“五”的前面。
数据的删除:

结果输出:

删除元素:
- `list.removeFirst();` —— 移除 "四",列表变为:`["二", "一", "三", "五", "六", "三", "三"]`
- `list.removeLast();` —— 移除最后一个 "三",列表变为:`["二", "一", "三", "五", "六", "三"]`
- `list.remove("三");` —— 移除列表中第一次出现的 "三",列表变为:`["二", "一", "五", "六", "三"]`
- `list.remove(2);` —— 移除索引 2 的元素 "五",列表变为:`["二", "一", "六", "三"]`
总结一下,`removeFirst()` 移除了列表的第一个元素,`removeLast()` 移除了列表的最后一个元素,`remove("三")` 移除了列表中第一次出现的 "三",而 `remove(2);` 移除了索引 2 的元素,此时 "五" 已经不在索引 2 的位置,因此实际上移除的是 "五" 被删除后索引 2 处的元素,即 "六" 前面的 "一"。但根据描述,`remove(2);` 实际上移除的是列表中修改后索引 2 处的元素,即原本的 "五" 被删除后的 "六",这导致最终列表为 `["二", "一", "六", "三"]`。


1)调用名为Set的接口,将值由该接口储存起来
2)是定义的接口只接收String类型数据
3)实例化HashSet对象,该对象是Set接口的其中一个类




排序:

默认是升序排序:

重写排序方法使排序方法为降序排序:



查找和删除元素:














输出结果:











添加和打印:


访问顺序:



移除最旧的条目:
覆盖重写 removeEldestEntry方法























