编写程序,随机生成20个两位整数,将它们分别添加到HashSet对象和TreeSet 对象中 (1)使用增强的for循环访问集合中的每个元素。 (2)使用Iterator迭代器访问集合中的每个元素。为什么集合中的元素不是20个?
时间: 2024-12-17 09:18:29 浏览: 5
在编写程序时,首先需要创建两个集合,一个是HashSet(无序且不允许有重复元素),另一个是TreeSet(有序且不允许有重复元素)。以下是生成20个随机两位整数并将其添加到这两个集合中的示例:
```java
import java.util.*;
public class CollectionsExample {
public static void main(String[] args) {
Random random = new Random();
HashSet<Integer> hashSet = new HashSet<>();
TreeSet<Integer> treeSet = new TreeSet<>();
for (int i = 0; i < 20; i++) {
int randomInt = random.nextInt(99) + 10; // 生成10-99之间的随机数
hashSet.add(randomInt);
treeSet.add(randomInt);
}
// 使用增强的for循环访问集合中的每个元素
System.out.println("HashSet:");
for (Integer num : hashSet) {
System.out.print(num + " ");
}
// 使用Iterator迭代器访问集合中的每个元素
System.out.println("\nTreeSet:");
Iterator<Integer> treeSetIterator = treeSet.iterator();
while (treeSetIterator.hasNext()) {
System.out.print(treeSetIterator.next() + " ");
}
// 集合中的元素数量通常会等于添加的数量(20个),除非有重复值或某些操作导致元素删除
System.out.println("\nNumber of elements in HashSet: " + hashSet.size());
System.out.println("Number of elements in TreeSet: " + treeSet.size());
}
}
```
当运行这个程序时,HashSet和TreeSet通常会各有20个元素,因为HashSet不保证元素顺序,而TreeSet会保持排序。如果出现元素数量不等于20的情况,那可能是由于随机生成的数字中有重复值,或者在操作过程中发生了意外的元素删除。
阅读全文