Java HashSet转换为TreeSet
哈希集: Java中的哈希集一般用于搜索、插入和删除等操作。平均来说,这些操作需要持续的时间。HashSet比TreeSet快。HashSet是用一个哈希表实现的。
TreeSet: Java中的TreeSet用于搜索、插入和删除需要O(log n),比HashSet高。但是TreeSet保持排序的数据。此外,它还支持像higher()(返回最少的高元素)、floor()、 ceiling()等操作。这些操作在TreeSet中也是O(log n),在HashSet中不支持。TreeSet是用自平衡二进制搜索树(Red-Black Tree)实现的。TreeSet在Java中是由TreeMap支持的。
一般来说,如果你想要一个 排序的集合 ,那么最好是向HashSet添加元素,然后将其转换为TreeSet,而不是创建一个TreeSet并向其添加元素。
给定一个HashSet,任务是在Java中把它转换成TreeSet 。
例子
我们可以通过以下方式将 HashSet 转换 为TreeSet 。
通过调用参数化构造函数并将哈希集的对象作为参数发送给它。
- 首先,我们要为哈希集创建一个对象。
- 然后我们要把所有的元素添加到哈希集合中。
- 最后,为树形集合创建一个对象,并将哈希集合对象发送给它。
下面是上述方法的实现。
程序:
输出:
通过使用addAll方法构建一个树形集合,其中包含与哈希集合中存在的相同元素。
- 首先,我们要为哈希集创建一个对象。
- 然后我们必须把所有的元素添加到哈希集。
- 现在为树集创建一个对象。
- 使用addAll方法将哈希集的所有元素添加到其中。
下面是上述方法的实现。
程序。
输出:
- 通过使用for each循环。 (这种方法通常用于两种不兼容类型之间的转换。)
-
首先,我们必须为哈希集创建一个对象。
- 然后,我们必须将所有的元素添加到哈希集中。
- 现在为树集创建一个对象。
- 最后,通过使用for each循环将哈希集的所有元素添加到树集中。
下面是上述方法的实现。
程序。
输出。