代码之家  ›  专栏  ›  技术社区  ›  AbhishekB

用于阵列比较以提高性能的替代方案

  •  0
  • AbhishekB  · 技术社区  · 13 年前

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

    2 回复  |  直到 13 年前
        1
  •  0
  •   absentmindeduk    13 年前

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

    用途将是:

    集合.排序(yourArrayList);

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

        2
  •  0
  •   Mike T    13 年前

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