迭代器模式:一个个遍历

迭代器模式主要用于遍历集合类中的元素,让我们能够更方便地访问和操作集合中的每一个元素。Java内部集合就实现了迭代器模式。

示例代码:使用ArrayList中的iterator

import java.util.ArrayList;
import java.util.Iterator;
public class IteratorPatternDemo {
public static void main(String[] args) {
ArrayList<String> names = new ArrayList<>();
// 添加一些元素
names.add("Alice");
names.add("Bob");
names.add("Charlie");
// 获取迭代器
Iterator<String> iterator = names.iterator();
// 遍历集合中的元素并输出
while (iterator.hasNext()) {
String name = iterator.next();
System.out.println(name);
}
}
}

也可以通过IterableIterator实现自定义的迭代器:

示例代码:自定义迭代器

import java.util.Iterator;
public class MyIterable implements Iterable<Integer> {
private int[] data;
public MyIterable(int[] arr) {
data = arr;
}
@Override
public Iterator<Integer> iterator() {
return new MyIterator();
}
private class MyIterator implements Iterator<Integer> {
private int index;
@Override
public boolean hasNext() {
return index < data.length;
}
@Override
public Integer next() {
if (!hasNext()) {
throw new IndexOutOfBoundsException("Reached end of array.");
}
return data[index++];
}
@Override
public void remove() {
throw new UnsupportedOperationException("Cannot remove elements from immutable array.");
}
}
}
posted @   穆海如枫  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示