Java Iterator (迭代器)不是一个集合,他是一个用于访问集合的方法,可以用来访问 HashSet 和 ArrayList 集合
迭代器 it 的两个基本操作是 next 、hasNext 和 remove。
调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。
调用 it.hasNext() 用于检测集合中是否还有元素。
调用 it.remove() 将迭代器返回的元素删除。
获取迭代器
实 例 \color{#FF0000}{实例} 实例
public static void main(String[] args) {
/*创建一个集合*/
ArrayList<String> flower = new ArrayList<>();
flower.add("lily");
flower.add("Chinese rose");
flower.add("chrysanthemum");
flower.add("Mint");
flower.add("peony");
/*获取迭代器*/
Iterator<String> iterator = flower.iterator();
/*输出集合中的第一个元素*/
System.out.println(iterator.next());
}
输出结果如下:
lily
循环元素
实 例 \color{#FF0000}{实例} 实例
public static void main(String[] args) {
/*创建一个集合*/
ArrayList<String> flower = new ArrayList<>();
flower.add("lily");
flower.add("Chinese rose");
flower.add("chrysanthemum");
flower.add("Mint");
flower.add("peony");
/*获取迭代器*/
Iterator<String> iterator = flower.iterator();
/*输出集合中的第一个元素*/
//System.out.println(iterator.next());
/*循环输出元素*/
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
输出结果为:
lily
Chinese rose
chrysanthemum
Mint
peony
删除元素
实 例 \color{#FF0000}{实例} 实例
public static void main(String[] args) {
/*创建一个集合*/
ArrayList<String> flower = new ArrayList<>();
flower.add("lily");
flower.add("Chinese rose");
flower.add("chrysanthemum");
flower.add("Mint");
flower.add("peony");
/*获取迭代器*/
Iterator<String> iterator = flower.iterator();
/*输出集合中的第一个元素*/
//System.out.println(iterator.next());
/*循环输出元素*/
//while (iterator.hasNext()) {
// System.out.println(iterator.next());
//}
System.out.println("未删除之前元素:" + flower.toString());
/*删除元素*/
while (iterator.hasNext()) {
String s = iterator.next();
if (s.length() > 4) {
iterator.remove();
}
}
System.out.println("删除之后元素:" + flower.toString());
}
运行结果如下;
未删除之前元素:[lily, Chinese rose, chrysanthemum, Mint, peony]
删除之后元素:[lily, Mint]