文档

Java™ 教程-Java Tutorials 中文版
问题和练习
Trail: Collections
Lesson: Interfaces

问题和练习:接口

问题

  1. 在本课程开始时,你了解到核心集合接口被组织为两个不同的继承树。特别是一个接口不被认为是真正的 Collection,因此位于其自己的树的顶部。这个接口的名称是什么?
  2. 集合框架中的每个接口都使用 <E> 语法声明,该语法告诉你它是泛型的。声明 Collection 实例时,指定它将包含的对象类型有什么好处?
  3. 什么接口表示不允许重复元素的集合?
  4. 什么接口形成集合层次结构的根?
  5. 什么接口表示可能包含重复元素的有序集合?
  6. 什么接口表示在处理之前保存元素的集合?
  7. 什么接口表示将键映射到值的类型?
  8. 什么接口代表双端队列?
  9. 列举三种不同的方法来迭代 List 的元素。
  10. 对或错:聚合操作是修改基础集合的可变型操作。

练习

  1. 编写一个以随机顺序打印其参数的程序。不要复制参数数组。演示如何使用流和传统的增强 for 语句打印出元素。
  2. FindDups 示例并将其修改为使用 SortedSet 而不是 Set。指定 Comparator,以便在排序和标识集合元素时忽略大小写。
  3. 编写一个方法,该方法采用 List<String> 并将 String.trim 应用于每个元素。
  4. 考虑四个核心接口,SetListQueueMap。对于以下四个分配中的每一个,指定四个核心接口中哪一个最适合,并解释如何使用它来实现分配。
    1. 异想天开的玩具公司(WTI)需要记录其所有员工的姓名。每个月,将从这些记录中随机选择一名员工以获得免费玩具。
    2. WTI 已决定每个新产品将以员工命名,但仅使用名字,每个名称仅使用一次。准备一个唯一名字的列表。
    3. WTI 决定只想使用最受欢迎的玩具名称。计算拥有每个名字的员工数量。
    4. WTI 获得当地长曲棍球队的季票,由员工共享。为这项受欢迎的运动创建一个等待名单。

检查一下你的答案。


Previous page: Summary of Interfaces
Next page: Aggregate Operations