首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Java克隆Iterator?

用Java克隆Iterator的方法是通过创建一个新的Iterator对象,并将原始Iterator对象中的元素复制到新的Iterator对象中。这可以通过实现一个新的Iterator类来实现,该类包含一个List或其他集合类型的成员变量,用于存储原始Iterator对象中的元素。

以下是一个简单的示例代码:

代码语言:java
复制
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;

public class ClonedIterator<T> implements Iterator<T> {
    private List<T> clonedList;
    private int currentIndex;

    public ClonedIterator(Iterator<T> originalIterator) {
        clonedList = new ArrayList<>();
        while (originalIterator.hasNext()) {
            clonedList.add(originalIterator.next());
        }
        currentIndex = 0;
    }

    @Override
    public boolean hasNext() {
        return currentIndex < clonedList.size();
    }

    @Override
    public T next() {
        return clonedList.get(currentIndex++);
    }

    @Override
    public void remove() {
        clonedList.remove(currentIndex);
    }
}

在这个示例中,我们创建了一个名为ClonedIterator的新类,该类实现了Iterator接口。在构造函数中,我们将原始Iterator对象中的所有元素复制到一个新的List中。然后,我们实现了hasNext()、next()和remove()方法,以便可以像使用原始Iterator对象一样使用新的ClonedIterator对象。

要使用这个ClonedIterator类,只需将要克隆的Iterator对象传递给构造函数即可:

代码语言:java
复制
Iterator<String> originalIterator = Arrays.asList("one", "two", "three").iterator();
ClonedIterator<String> clonedIterator = new ClonedIterator<>(originalIterator);

现在,clonedIterator对象是原始Iterator对象的克隆,可以像使用原始Iterator对象一样使用它。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券