0

我有一个每隔一秒thread比较两个长的(显然一个数组列表发生了变化,所以我比较了)。arraylist性能降低,CPU 利用率急剧增加。我想知道提高 CPU 性能的解决方案。有什么好方法?除了使用数组列表还有其他方法吗?

4

2 回答 2

0

您可以保留 ArrayList 并存储它是否已更改。所以,如果你改变它,做类似的事情boolean changed = true。然后,当您要检查时,无需遍历整个列表,只需检查if(changed). 然后记得在changed = false每次检查时进行设置。

于 2012-08-23T10:40:02.000 回答
0

Java Collections 框架包含用于对 ArrayList(以及其他集合)进行排序的方法,这些方法比冒泡排序的实现更有效,这是 O(n^2),最坏的情况 - 你将能够实现 O (n log n) 使用集合。

用法将是:

Collections.sort(yourArrayList);

这里有一个用法示例:http: //onjava.com/onjava/2003/03/12/java_comp.html

于 2012-08-23T14:08:44.303 回答