Java Iterator(迭代器)
Java Iterator(迭代器)
如果需要使用iterator类需要从java.util包中引入它
Java Iterator不是一个集合,它是一种访问集合的方法,用于迭代ArrayList和HashSet等集合
迭代器it 的两个基本操作是next,hasNext和remove
调用it.next()会返回迭代器的下一个元素,并更新迭代器的状态
调用it.hasNext()用于检测集合中是否还有元素
调用it.remove()将迭代器返回的元素删除
集合获取一个迭代器用iterator()方法
package m; //引入 ArrayList 和 Iterator 类 import java.util.ArrayList; import java.util.Iterator; public class iterator { public static void main(String[] args) { // 创建集合 ArrayList<String> sites = new ArrayList<String>(); sites.add("1"); sites.add("2"); sites.add("3"); sites.add("4"); // 获取迭代器 Iterator<String> it = sites.iterator(); // 输出集合中的第一个元素 System.out.println(it.next()); } }
循环集合元素让迭代器it逐个返回集合中所有元素用while循环
package m; //引入 ArrayList 和 Iterator 类 import java.util.ArrayList; import java.util.Iterator; public class iterator { public static void main(String[] args) { // 创建集合 ArrayList<String> sites = new ArrayList<String>(); sites.add("1"); sites.add("2"); sites.add("3"); sites.add("4"); // 获取迭代器 Iterator<String> it = sites.iterator(); // 输出集合中的所有元素 while(it.hasNext()) { System.out.println(it.next()); } } }
如果要删除集合中的元素可以用remove()方法
package m; //引入 ArrayList 和 Iterator 类 import java.util.ArrayList; import java.util.Iterator; public class iterator { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); numbers.add(12); numbers.add(8); numbers.add(2); numbers.add(23); Iterator<Integer> it = numbers.iterator(); while(it.hasNext()) { Integer i = it.next(); if(i < 10) { it.remove(); // 删除小于 10 的元素 } } System.out.println(numbers); } }