gpt4 book ai didi

java - 改进的集合迭代器

转载 作者:搜寻专家 更新时间:2023-10-30 20:56:31 25 4
gpt4 key购买 nike

就我个人而言,我发现 java.util.Iterator 提供的功能范围相当可怜。至少,我希望有如下方法:

  • peek() 返回下一个元素而不向前移动迭代器
  • previous() 返回前一个元素

尽管还有很多其他的可能性,例如 first() 和 last()。

有谁知道这样的第 3 方迭代器是否存在?它可能需要作为 java.util.Iterator 的装饰器来实现,以便它可以与现有的 java 集合一起使用。理想情况下,它应该是“泛型感知”的。

提前致谢,唐

最佳答案

您只需使用 java.util.ListIterator 即可轻松获得 previous()

Peek 在那个点很容易通过做一个

public <T> T peek(ListIterator<T> iter) throws NoSuchElementException {
T obj = iter.next();
iter.previous();
return obj;
}

不幸的是,将它作为实用方法会更容易,因为每个集合类都实现了自己的迭代器。做一个包装器来获取某个接口(interface)(例如 MyListIterator)上每个集合的 peek 方法将需要大量工作。

关于java - 改进的集合迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/192417/

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