金陵科技学院软件工程学院大二上Java高级1203Set.docx
需积分: 0 183 浏览量
更新于2022-10-21
1
收藏 49KB DOCX 举报
1203Set.doc
目的:学会使用 Set、 HashSet、 TreeSet
完成内容
1. 写一个 Set 集合,放入 5 个 HashSet 成员
用 iterator 显示出来,注意是否是顺序存放的,显示其
在Java编程语言中,`Set`接口是集合框架的一部分,它代表了不允许有重复元素的集合。本例中,我们探讨了两种实现`Set`接口的类:`HashSet`和`TreeSet`,以及如何使用它们的一些基本操作。
我们看`HashSet`的使用。`HashSet`是一个不保证元素顺序的集合,它根据元素的`hashCode`值来存储和检索元素。在`TestSet`类中,我们创建了一个`HashSet`实例,并添加了五个元素:两个字符串和三个自定义的`Cat`对象。使用`iterator`遍历`HashSet`,显示元素及其`hashCode`值,这展示了`HashSet`内部是如何通过`hashCode`进行组织的。接着,我们使用`remove`方法移除了两个元素,并用`foreach`循环展示更新后的集合内容。尝试添加重复元素,`HashSet`会自动忽略这些重复项,因此集合内容没有变化。
`HashSet`的主要特点是插入和查询速度快,但不保证元素顺序。如果需要按照特定顺序存储元素,可以使用`TreeSet`。
在`TestTreeSet`类中,我们展示了`TreeSet`的用法。`TreeSet`是有序的,它维护了元素的排序,通常根据自然排序或者自定义比较器。我们向`TreeSet`添加了几个`double`类型的数值,由于默认是自然排序,这些数值会被按升序排列。`TreeSet`提供了诸如`first()`(获取最小元素)、`last()`(获取最大元素)、`lower()`(获取小于指定值的最大元素)和`higher()`(获取大于指定值的最小元素)等方法,方便对集合进行操作。此外,`subSet()`、`headSet()`和`tailSet()`方法允许我们获取集合的一个子集,分别对应指定区间的集合、小于指定值的所有元素的集合和大于或等于指定值的所有元素的集合。
`HashSet`和`TreeSet`各有特点,适用于不同的场景。`HashSet`适合于快速查找且不关心元素顺序的情况,而`TreeSet`则适合需要有序集合或进行区间查询的应用。理解这两个数据结构的特性和使用方式对于编写高效、功能丰富的Java程序至关重要。
Spiderman_94
- 粉丝: 1240
- 资源: 8
最新资源
- 【岗位说明】装修公司各部门岗位职责.docx
- 【岗位说明】装修公司行政室岗位职责.docx
- 【岗位说明】保洁部岗位职责.doc
- 【岗位说明】保洁公司岗位职责.doc
- 【岗位说明】保洁员岗位职责.doc
- 【岗位说明】保洁员岗位职责说明书.doc
- 【岗位说明】清洁工岗位职责说明.doc
- 【岗位说明】厨师厨工岗位职责02.doc
- 【岗位说明】绿化工岗位职责及考核标准.doc
- 【岗位说明】绿化岗位职责.doc
- 【岗位说明】绿化工岗位标准.doc
- 【岗位说明】绿化工岗位职责.doc
- 【岗位说明】物业小区保安岗位职责.doc
- 【岗位说明】物业保安岗位职责.doc
- 【岗位说明】物业保洁员岗位职责绿化员岗位职责.doc
- 【岗位说明】物业综合主管岗位职责说明书.doc