加速比迭代我有一个List<String>
并有近20,000记录它(可能更多)... 我需要遍历这个列表,它需要近3分钟... ...如何在列表
这里是我的代码块:
for (String string : list) {
response += string;
response += "/t";
}
我有两个问题:
- 很长一段时间是列表迭代或在每个项目上运行?
- 取决于问题1的答案如何加快此操作?
加速比迭代我有一个List<String>
并有近20,000记录它(可能更多)... 我需要遍历这个列表,它需要近3分钟... ...如何在列表
这里是我的代码块:
for (String string : list) {
response += string;
response += "/t";
}
我有两个问题:
糟糕的表现更可能是您使用字符串连接。改为使用StringBuilder
。
考虑使用地图,如果它适用。下面是一个非常常见的Java对象的链接,以及使用Big-O表示法操作的成本。
http://objectissues.blogspot.com/2006/11/big-o-notation-and-java-constant-time.html
数据结构不是问题(请参阅我的答案)。 –
@OliCharlesworth。感谢您指出了这一点。 – zee
比我快... –
你说得不错,先生。 +1 – christopher
谢谢你们:)它的工作! – zhozhe