使用contains方法

-3 java arrays contains arraylist

该程序的目标是获取两个数组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);

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Sud*_*hul 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  
}
Run Code Online (Sandbox Code Playgroud)

你也需要为元素做同样的y事情.

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