gpt4 book ai didi

java - Iterable - 移动到指定位置

转载 作者:太空宇宙 更新时间:2023-11-04 11:29:19 26 4
gpt4 key购买 nike

  • 我需要一个可迭代的数据结构来提供以下可能性标准Iterator<>接口(interface)( next()hasNext() 等)。

  • 此外,应该可以将迭代器重新定位在确定位置。

<小时/>

是否有任何类已经提供了上述可能性?

<小时/>

否则我会实现如下所示的内容:

public class PositionableIterator<E> implements Iterator<E> {

private final List<E> delegate;
private Iterator<E> iterator;

public PositionableIterator(List<E> delegate) {
this.delegate = delegate;
this.iterator = delegate.iterator();
}

public void moveTo(int index) {
this.iterator = delegate.listIterator(index);
}

public void moveTo(E element) {
this.iterator = delegate.listIterator(delegate.indexOf(element));
}

@Override
public boolean hasNext() {
return iterator.hasNext();
}

@Override
public E next() {
return iterator.next();
}
}

您认为使用这种方法有什么缺点吗?

最佳答案

我建议将迭代器转换为列表并使用其功能。因为这样更容易理解和维护。有转换 Convert Iterator to ArrayList 的示例

关于java - Iterable - 移动到指定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43981225/

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