gpt4 book ai didi

java - 如何使用 ListIterator 编辑列表内容

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:15 25 4
gpt4 key购买 nike

我正在使用 ListIterator 来迭代某个对象的列表。目标是编辑列表的内容。

这是我正在做的事情的示例:

public class Test {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

ArrayList list = new ArrayList<>(Arrays.asList("One", "Two", "Three","Four","Five"));
ListIterator<String> listIterator = list.listIterator();
String current ;
while (listIterator.hasNext()) {
doSomething(listIterator);
current = listIterator.next();
//here I Want that current has the same value as it was Before The doSomething Call
//or in other Word , i want to save the adress of the last visired object In the List before doSomething Call.
//As a result i can iterate from this point in the List.
}

}

private static ListIterator<String> doSomething(ListIterator<String> listIterator) {
System.out.println("Dosomething " + listIterator.next()); //
System.out.println("Dosomething " + listIterator.next()); //
System.out.println("Dosomething " + listIterator.next()); //
System.out.println("Dosomething " + listIterator.next()); //
return listIterator;
}
}

您能给我一些见解吗?

我使用 ListIterator 是因为我想在列表中来回移动,并用于编辑目的。

最佳答案

ListIterator 跟踪当前索引,因此您可以保存它并在调用 doSomething 后倒回:

int pos = listIterator.nextIndex();
doSomething(listIterator);
while (listIterator.nextIndex() > pos) {
listIterator.previous();
}

这假设 doSomething 仅推进迭代器。

关于java - 如何使用 ListIterator 编辑列表内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47086266/

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