容器类应用: 编写程序,分别以传统for循环、Iterator迭代器和增强for循环的方式遍历数组、list和map,要求用到泛型、自动打包和解包。
时间: 2024-10-21 19:13:11 浏览: 19
详解Java中list,set,map的遍历与增强for循环
5星 · 资源好评率100%
容器类在编程中用于存储和组织数据,如Array、List和Map都是常见的数据结构。以下是使用Java分别通过传统for循环、Iterator迭代器以及增强for循环遍历它们的示例:
1. **传统for循环(适用于Array和List)**:
```java
// 遍历Array
GenericType<T>[] array = new GenericType<T>[size];
...
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
// 遍历List
List<GenericType<T>> list = new ArrayList<>();
...
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
```
2. **Iterator迭代器(适用于所有支持Iterator的容器)**:
```java
// 获取Iterator
Iterator<GenericType<T>> iterator = array.iterator() // 或者 list.iterator();
...
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
```
3. **增强for循环(仅适用于List和Map)**:
```java
// 遍历List(自动打包和解包)
for (GenericType<T> item : list) {
System.out.println(item);
}
// 遍历Map(假设key是KeyType, value是ValueType)
for (KeyType key : map.keySet()) {
System.out.println("Key: " + key + ", Value: " + map.get(key));
}
```
在这三个例子中,`GenericType<T>`代表一个泛型类型,`T`是一个类型参数,`size()`用于获取数组长度或列表元素数。
阅读全文