Skip to content

Commit f140009

Browse files
committed
add
Signed-off-by: maskleo <masque@aliyun.com>
1 parent 001ceba commit f140009

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

ch10/00_Collections.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
## 集合
1+
# 集合
22

33
`Java` 集合框架是 `java.util` 和 `java.util.concurrent` 包中的一组接口和类。他们为客户程序提供了如何组织其对象的各种模型以及每种模型的各种实现。这些模型有时被称为抽象数据类型,我们需要它们,因为不同的程序需要不同的方式来组织它们的对象。在一种情况下,您可能希望将程序的对象组织在顺序列表中,因为它们的排序很重要,并且有重复。另一种情况是,一个集合可能是正确的数据类型,因为现在的排序并不重要,你想放弃重复。这两种数据类型(以及其他)由集合框架中的不同接口表示,我们将在本章中查看它们的使用示例。但那不是全部;这些数据类型中没有一个具有单一的“最佳”实现 - 也就是说,对于所有操作,其中一个实现比所有其他实现更好。例如,链接列表可能比用于从中间插入和删除元素的列表的阵列实现更好,但是对于随机访问更糟糕。因此,为您的程序选择正确的实施方式涉及知道如何使用以及可用的方式。
44

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Java集合框架的主要接口
2+
3+
`10-1` 显示了 `Java` 集合框架的主要接口,以及另外一个 `Iterable`--它不在框架中,但是它是一个重要的附件。其目的如下:
4+
5+
- `Iterable` 定义了一个类必须满足的实例才能与 `foreach` 语句一起使用。框架接口具有以下目的:
6+
7+
- 集合包含除地图之外的任何集合所需的核心功能。它没有直接的具体实现;具体收集类也都实现其子接口之一。`Set` 是一个集合,没有重复,顺序不重要。 `SortedSet` 会自动对元素进行排序并按顺序返回它们。 `NavigableSet` 对此进行了扩展,添加了一些方法来查找与目标元素最接近的匹配项。
8+
9+
- 队列是一个集合,旨在接受尾部的元素进行处理,并按其处理顺序在头部生成它们。它的子接口 `Deque` 通过允许在头部和尾部添加或去除元素来扩展它。 `Queue``Deque` 分别具有子接口 `BlockingQueue``BlockingDeque`,它们支持并发访问,并允许线程无限期地或最长时间地被阻塞,直到执行所请求的操作。
10+
- 列表是一个集合,其顺序很重要,可容纳重复的元素。
11+
- `Map` 是一个使用键值关联来存储和检索元素的集合。它由 `ConcurrentMap` 进行了扩展,它提供了对并发访问的支持,由 `SortedMap` 进行扩展,它保证以递增键顺序返回其值,通过 `Navigable-Map` 扩展 `SortedMap` 查找与目标元素最接近的匹配项,以及通过扩展 `ConcurrentMap``NavigableMap``ConcurrentNavigableMap`
12+
13+
![](10_1.png)
14+
15+
`10-1``Java`集合框架的主要接口
16+
17+
`12` 章到第 `16` 章将依次关注每个集合框架接口。首先,虽然在第 `11` 章中,我们需要介绍贯穿整个框架设计的一些初步想法。

ch10/10_1.png

64.5 KB
Loading

0 commit comments

Comments
 (0)