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