gpt4 book ai didi

java 使用listIterator插入元素

转载 作者:行者123 更新时间:2023-12-01 18:56:54 25 4
gpt4 key购买 nike

我正在为玩具编程语言构建图形着色分配器。在生成溢出代码时,有时我必须在当前指令之前插入加载{用于恢复}或在当前指令之后插入{用于溢出}。我的代码表示为一个图表,其中每个基本 block 都有一个节点以及该 block 内的指令列表,

我生成一个 dfs 有序图节点列表,并且对于每个节点,我遍历节点内的指令列表,使用 codeList.listIterator() 我可以分别通过 next 和 previous 来回移动,并为 insert after 和 insert before 执行添加操作。

如何使用 add() 方法在列表的开头进行插入?

最佳答案

来自ListIterator.add API

The element is inserted immediately before the element that would be returned by next(), if any, and after the element that would be returned by previous(), if any. (If the list contains no elements, the new element becomes the sole element on the list.) The new element is inserted before the implicit cursor: a subsequent call to next would be unaffected, and a subsequent call to previous would return the new element. 

这是一个在实践中如何运作的示例

    List<String> l = new ArrayList<String>();
l.add("1");
ListIterator<String> i = l.listIterator();
i.add("2");
while (i.hasPrevious()) {
i.previous();
}
i.add("3");
System.out.println(l);

输出

[3, 2, 1]

我们可以用 ListIterator 做更多的事情

关于java 使用listIterator插入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13693406/

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