比较两个数组间的元素(获取相同和不同的元素)

方法:Arrays.binarySearch(Object[] a, Object key)

筛选出两个数组中相同的值,>= 0 表示相同,< 0 表示不同 。
有相同值是返回元素的下标值。

代码如下:

        String[] aStr = {"一", "二", "三", "四"};
        String[] bStr = {"一", "二"};
        List same = Lists.newArrayList();
        List different = Lists.newArrayList();
        for (String str : aStr) {
            if (Arrays.binarySearch(bStr, str) >= 0) {
                same.add(str);
            }
            if (Arrays.binarySearch(bStr, str) < 0) {
                different.add(str);
            }
        }
        System.out.println("相同的元素:");
        same.stream().forEach(item -> {
            System.out.println(item);
        });
        System.out.println("不相同的元素:");
        different.stream().forEach(item -> {
            System.out.println(item);
        });

打印输出:

相同的元素:
一
二
不相同的元素:
三
四

你可能感兴趣的:(Java开发)