打印两个阵列的常用值

时间:2012-12-04 21:30:03

标签: java arrays

我正在研究一个java项目,需要在两个数组之间打印公共值。

我已经按照排序顺序打印了两个数组,它们看起来都很好(包含它们应该包含的所有值)。但是,当我遵循最简单的算法(见下文)时,我找不到所有常用值,即使我可以手动查看两个数组的打印输出,而不进行比较,执行下面后应该打印更多的值: / p>

        for(int i=0; i<fibList.size(); i++)
        {
            for(int j=0; j<primeList.size(); j++)
            {
                if(fibList.get(i) == primeList.get(j))
                {
                    System.out.print(" " + fibList.get(i));
                    break;
                }
            }
        }

请让我知道你的想法。希望这只是一个简单的错误。

3 个答案:

答案 0 :(得分:4)

if(fibList.get(i).equals(primeList.get(j)))可以使用。

答案 1 :(得分:4)

最有可能你想:

变化:

if(fibList.get(i) == primeList.get(j))

要:

if(fibList.get(i).equals(primeList.get(j)))

答案 2 :(得分:4)

List<Integer> result = new ArrayList<Integer>(fibList);
result.retainAll(primeList);
for (Integer i : result) {
    System.out.println(i);
}