gpt4 book ai didi

java - 如何改变迭代器的方法?

转载 作者:行者123 更新时间:2023-12-03 21:06:12 26 4
gpt4 key购买 nike

大家好,我是 Java 的新手,我有一个关于集合和迭代器的问题。

在我的代码中,我有一个集合(它在某个地方扩展了 Iterable)并且每个对象基本上都是一个 LinkedList。
我需要那个集合的迭代器,所以我这样写下来:

public class A{

LinkedList<B> BList= new LinkedList<B>();

...

public Iterator<B> iterator() {
return BList.iterator();
}
}

现在的问题是,我该如何更改该迭代器的任何方法?
或者更具体地说,如何禁用迭代器的 remove 方法?

谢谢。

最佳答案

你可以返回一个不可修改列表的迭代器:

import java.util.Collections;

...

public class A{

LinkedList<B> BList= new LinkedList<B>();

...

public Iterator<B> iterator() {
return Collections.unmodifiableList(BList).iterator();
}
}

这将用一个不允许对列表结构进行任何更改(如删除)的实现来包装您的列表。然后,您返回一个基于包装列表的迭代器。

关于java - 如何改变迭代器的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4282192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com