这些Java教程是针对JDK 8编写的。本页面中描述的示例和实践不利用后续版本引入的改进,并且可能使用不再可用的技术。
有关Java SE 9及后续版本中更新的语言功能的摘要,请参见Java语言更改。
有关所有JDK版本的新功能、增强功能和已删除或已弃用选项的信息,请参见JDK发行说明。
问题和练习:接口
问题
- 在本课程的开头,您了解到核心集合接口被组织成了两个不同的继承树。特定接口被认为不是一个真正的
Collection
,因此位于自己的树的顶部。这个接口的名称是什么?
- 集合框架中的每个接口都使用
<E>
语法声明,这告诉您它是泛型的。当您声明一个Collection
实例时,指定它将包含的对象类型的优势是什么?
- 表示不允许重复元素的集合的接口是什么?
- 哪个接口形成了集合层次结构的根?
- 表示可能包含重复元素的有序集合的接口是什么?
- 表示在处理之前保存元素的集合的接口是什么?
- 表示将键映射到值的类型的接口是什么?
- 表示双端队列的接口是什么?
- 列举三种遍历
List
元素的不同方式。
- 真或假:聚合操作是修改底层集合的变异操作。
练习
- 编写一个以随机顺序打印其参数的程序。不要复制参数数组。演示如何使用流和传统的增强for语句打印出元素。
- 使用
SortedSet
而不是Set
修改FindDups
示例。指定一个Comparator
,以在排序和识别集合元素时忽略大小写。
- 编写一个方法,接受一个
List<String>
并对每个元素应用String.trim
。
- 考虑四个核心接口,
Set
、List
、Queue
和Map
。对于以下四个任务,指定最适合的四个核心接口,并解释如何使用它来实现任务。
- Whimsical Toys Inc(WTI)需要记录所有员工的姓名。每个月,将从这些记录中随机选择一个员工获得一个免费玩具。
- WTI决定每个新产品都以员工的名字命名,但只使用名字,而且每个名字只使用一次。准备一个唯一的名字列表。
- WTI决定只使用最流行的名字来命名玩具。计算每个名字的员工数量。
- WTI购买了当地的棍网球队季票,供员工共享。为这个受欢迎的运动创建一个等待列表。
检查您的答案。