Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 Arraylist和Hashset等集合。对于遍历集合中的元素,为了使对集合内元素的操作更为简单,Java引入了迭代器模式,把访问逻辑从不同类型的集合类中抽取出来,从而避免向外部暴露集合的内部结构。下面本文将对迭代器的使用进行简单的介绍。
1、引入Iterator类
首先需要在代码的顶部加入import java.util.Iterator;
2、获取一个迭代器
例如对这样的一个List
List<String> sites = new ArrayList<String>()
我们要获取对List sites的迭代器,代码如下:
Iterator<String> it = sites.iterator();
<>中的内容为sites中元素的数据类型,而.iterator()前的是List集合的名称,这样我们就可以获取一个名为it的对名为sites的List的迭代器。
3、循环/遍历集合元素
让迭代器 it 逐个遍历其中所有元素最简单的方法是使用 while 循环,代码如下:
while(it.hasNext()) { }
这样我们就遍历了it中了每一个元素,同时可以在遍历的过程中在while循环中输入代码来完成自己想要对遍历到的元素的具体操作。
4、删除元素
如果想要删除集合中的元素我们可以使用在迭代的过程中使用 remove() 方法。
例如我们想要删除集合中小于 9 的元素
整体代码如下:
import java.util.ArrayList;
import java.util.Iterator;
public class delete {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<Integer>();
numbers.add(3);
numbers.add(5);
numbers.add(10);
numbers.add(20);
Iterator<Integer> it = numbers.iterator();
while(it.hasNext()) {
Integer i = it.next();
if(i < 9) {
it.remove(); // 删除小于 10 的元素
}
}
System.out.println(numbers);
}
}
这样我们会得到输出结果为[10,20],可以看出我们已经成功完成了删除操作,这样的操作帮助我们代替了使用for循环来达到我们想要的目的。
以上就是我所学习到的关于迭代器Iterator的操作,如果有新的知识还会在日后进行增加,若有描述不对的地方欢迎在评论区进行指正。