Java - HashSet实现不支持remove()的迭代器的最佳方法

6 java collections iterator

我有一个使用a的类,HashSet我想要类实现Iterable,但是,我不希望类迭代器支持该remove()方法.

默认迭代器HashSetHashSet.KeyIterator类中的私有类 HashSet,所以我不能简单地扩展它并覆盖remove方法.

理想情况下,我想避免编写包装类KeyIterator,但我不知道如何轻松地以任何其他方式简单地实现我自己的迭代器.

有任何想法吗?

干杯,

皮特

Bri*_*per 16

java.util.Collections.unmodifiableSet(myHashSet).iterator();
Run Code Online (Sandbox Code Playgroud)

  • 请注意,如果您尝试通过它修改Set,迭代器将返回抛出`UnsupportedOperationException`. (4认同)