Java中如何查找两个数组中的相同元素呢?

java-经验王 Java经验 发布时间:2021-11-02 17:22:15 阅读数:13868 1
下文讲述使用Java代码查找两个数组中相同元素的方法分享,如下所示:

方式1:使用多次遍历进行查找比对

public static list<Integer> findSame(int[] arr1, int[] arr2) {
        List<Integer> list = new ArrayList<>();
        if (arr1 == null || arr2 == null || arr1.length == 0 || arr2.length == 0) {
            return list;
        }
        for(int i=0;i<arr1.length;i++) {
            for(int j=0;j<arr2.length;j++)
                if(arr1[i]==arr2[j]) {
                    list.add(arr1[i]);
                }
        }
        return list;
    }

方式2:先排序然后再遍历比对

实现思路:
    1.数组排序
	2.遍历数组元素,比较两个数组中的元素
	  谁的元素小,则向前加1,然后再次比对
	  当任意一个数组比对完毕,则运算结束

    public static List<Integer> findCommon(int[] arr1, int[] arr2) {
        List<Integer> list = new ArrayList<>();
        if (arr1 == null || arr2 == null || arr1.length == 0 || arr2.length == 0) {
            return list;
        }
        Arrays.sort(arr1);
        Arrays.sort(arr2);
        int i = 0, j = 0;
        while ( i < arr1.length && j < arr2.length ) {
            if (arr1[i] == arr2[j]) {
                list.add(arr1[i]);
                i++;
                j++;
            } 
            else if (arr1[i] < arr2[j]) i++;
            else j++;
        }
        return list;
    } 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202111/16358449661664.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者