在Java中同步比较两个数组

时间:2013-04-28 23:33:49

标签: java arrays integer compare version

我正在研究一种比较两个版本的正则表达式“//。”。

我正在努力解决的问题是尝试找出一种比较“同步”数组中两个值的方法,以便查看一个值中的值是否大于另一个值。比如我说:

int[] newerVersion = {2, 4, 7}; 
int[] olderVersion = {1, 2, 0}; 

在这种情况下,我会尝试解决2> 1和4> 2等等。

我现在拥有的代码可以通过将数组映射到List并执行Collections.reverse()来反转数组的顺序。我是在正确的轨道上吗?关于如何写这样的东西的任何想法?

2 个答案:

答案 0 :(得分:2)

只需遍历数组 - 无需使用列表或集合等。

boolean bools = new boolean[newVersion.length];
for(int i = 0; i < newVersion.length && i < oldVersion.length; i++) {
    bools[i] = newVersion[i] > oldVersion[i];
}

答案 1 :(得分:0)

迭代数组

boolean check = false;
for(int i = 0; i < newerVersion.length; i++) {
      if(newerVersion[i] > oldVersion[i]) {
            check = true;
            break;
      }
      else if(newerVersion[i] < olderVersion[i]) {
             break;
      }   
}

如果有更新版本,则检查为真。