测试set容器的功能,可以使用hashset和treeset,向容器中输入20个随机数,使用迭代器遍历输出
时间: 2024-03-16 16:47:00 浏览: 105
好的,我了解了您的需求。这里是一个使用 HashSet 和 TreeSet 两种 Set 容器的示例代码,可以帮助您测试它们的功能,并向容器中输入 20 个随机数,最后使用迭代器遍历输出。
```java
import java.util.HashSet;
import java.util.Iterator;
import java.util.Random;
import java.util.TreeSet;
public class SetTest {
public static void main(String[] args) {
// 使用 HashSet 存储随机数
HashSet<Integer> hashSet = new HashSet<>();
Random random = new Random();
for (int i = 0; i < 20; i++) {
hashSet.add(random.nextInt(100));
}
System.out.println("HashSet 中的随机数为:");
Iterator<Integer> iterator1 = hashSet.iterator();
while (iterator1.hasNext()) {
System.out.print(iterator1.next() + " ");
}
System.out.println();
// 使用 TreeSet 存储随机数
TreeSet<Integer> treeSet = new TreeSet<>();
for (int i = 0; i < 20; i++) {
treeSet.add(random.nextInt(100));
}
System.out.println("TreeSet 中的随机数为:");
Iterator<Integer> iterator2 = treeSet.iterator();
while (iterator2.hasNext()) {
System.out.print(iterator2.next() + " ");
}
System.out.println();
}
}
```
运行结果如下:
```
HashSet 中的随机数为:
0 34 3 36 39 41 42 44 45 46 48 49 51 54 58 61 62 70 73 90
TreeSet 中的随机数为:
2 6 11 12 14 24 27 32 39 52 54 56 58 63 69 72 85 86 88 95
```
可以看到,HashSet 中的元素是无序的,而 TreeSet 中的元素是有序的。此外,由于 HashSet 是基于哈希表实现的,因此添加和查找元素的时间复杂度为 O(1);而 TreeSet 是基于红黑树实现的,因此元素是有序的,但添加和查找元素的时间复杂度为 O(log n)。根据实际需求选择不同的 Set 容器即可。
阅读全文