gpt4 book ai didi

java - 避免在 Java 中创建 Iterator 实例

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

我需要在 ArrayList 上使用迭代器,但每次迭代它时,它都会创建一个 Iterator 实例(垃圾)。我需要一种方法来迭代列表而不产生垃圾。

示例:

for (Person person : people) {
person.sayHi();
}

最佳答案

简单的答案是使用 Java 8。这可以使用转义分析将 Iterator 放置在堆栈上,从而避免任何垃圾。

如果您陷入 Java 7 或更早版本,您可以这样做

for (int i = 0; i < list.size(); i++) {
Person p = mlist.get(i);

这里有一篇文章介绍了为什么迭代器似乎是在探查器中创建的,但在您不运行探查器时却不是。

http://psy-lob-saw.blogspot.co.uk/2014/12/the-escape-of-arraylistiterator.html

关于java - 避免在 Java 中创建 Iterator 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062801/

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