java迭代器循环写法
时间: 2023-12-07 18:38:04 浏览: 124
Java迭代器循环写法有两种,分别是for-each循环和while循环。具体如下:
1. for-each循环
```java
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
for (String str : list) {
System.out.println(str);
}
```
2. while循环
```java
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String str = iterator.next();
System.out.println(str);
}
```
相关问题
java双重List集合删除重复数据迭代器写法
在Java中,如果你想要从双层列表(例如List<List<String>>)中删除重复的数据,可以使用两个嵌套的循环配合Iterator。这里是一个基本的例子:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class RemoveDuplicates {
public static void removeDuplicates(List<List<String>> list) {
for (int i = 0; i < list.size(); i++) {
List<String> innerList = list.get(i);
Iterator<List<String>> iterator = list.listIterator(i); // 使用listIterator遍历整个列表
while (iterator.hasNext()) {
List<String> sublist = iterator.next();
if (i != iterator.index() && isDuplicate(innerList, sublist)) { // 避免检查自身
iterator.remove(); // 删除重复的子列表
}
}
}
}
private static boolean isDuplicate(List<String> listA, List<String> listB) {
return !listA.equals(listB) && listA.containsAll(listB); // 检查是否完全相同的元素集
}
// 示例用法
public static void main(String[] args) {
List<List<String>> list = new ArrayList<>();
// 填充数据...
removeDuplicates(list);
System.out.println("处理后的列表: " + list);
}
}
```
在这个例子中,我们首先通过`isDuplicate`方法检查子列表是否是原列表的子集,如果是则认为它们是重复的,并使用`iterator.remove()`方法删除其中一个。
迭代器放入for循环
迭代器放入for循环可以实现多次使用迭代器的效果。具体的写法是在for循环的初始化语句中获取迭代器,然后在循环条件中使用`hasNext()`方法判断是否还有下一个元素,循环体中使用`next()`方法获取下一个元素。这种写法可以在循环内部多次使用迭代器来进行操作。例如:
```java
for (Iterator<Integer> iterator = b.iterator(); iterator.hasNext(); ) {
Integer next = iterator.next();
System.out.println(next);
}
```
在这个例子中,我们通过`iterator()`方法获取了ArrayList `b` 的迭代器,并在循环条件中使用了`hasNext()`方法来判断是否还有下一个元素。循环体中使用`next()`方法获取下一个元素并进行操作。通过这种写法,我们可以在循环内部多次使用迭代器来获取元素,实现了多次使用迭代器的效果。
阅读全文