使用contains方法

时间:2014-01-13 09:34:15

标签: java arrays arraylist contains

这个程序的目标是取两个数组x和y,然后创建和数组列表包含x和y中出现的数字,然后打印出这个匹配数字的数组。当我去编译时,它给了我第19行预期的错误类和另一个错误说“;”预期在同一条线上,我猜是由于另一个错误。这只是一个错误,还是一个更大的问题?

import java.util.ArrayList;
import java.util.Arrays;
public class FindCommon {

    public static void main (String[] args) {

        ArrayList list = new ArrayList();



        int[] x = {1, 4, 3, 0, 1, 2};
        int[] y = {6, 4, 5, 0, 6, 1};


        for (int i = 0; i < x.length ; i++){

            int number = x[i];

            if (y[].(contains(x[i])){   // Line 19

                list.add(x[i]);        
            }

            System.out.println(list);

        }
    }
}

1 个答案:

答案 0 :(得分:6)

if (y[].(contains(x[i])){

由于各种原因,上述行无效。缺少y数组的索引。同样根据要求,您需要在列表中调用contains()方法而不是数组。而且似乎还有一对额外的支撑。

if (!list.contains(x[i])){
    list.add(x[i]); // Add to the list if it doesn't contain the value already  
}

您也需要对y的元素执行相同的操作。

更好的解决方案:您可以使用Set代替List。它会为你消除重复。您需要做的就是从两个数组中添加元素集。