JAVA比较两个数组中是否存在相同元素,并且取出相同元素(以两个String[]数组为例)

	/**
     * 比较两个字符串数组的是否存在相同内容,并对相同内容以数组形式返回
     * @param arr1
     * @param arr2
     * @return
     */
    private String[] compareTwoArraySame(String[] arr1, String[] arr2) {

        StringBuilder sameResultTemp = new StringBuilder();
        String sameResultStr = "";
        Set<String> testSet = new HashSet<>();

        for (int i = 0; i<arr1.length; i++){
            testSet.add(arr1[i]);
        }

        for(int i = 0; i < arr2.length; i++){
            if(! testSet.add(arr2[i])){//set集合中如果存入的值已经存在则会返回false
                sameResultTemp.append(arr2[i]+",");
            }
        }

        if(sameResultTemp != null){
            sameResultStr = sameResultTemp.toString();
            sameResultStr = sameResultStr.substring(0,sameResultStr.length() -1);
            return sameResultStr.split(",");//返回相同的String数组
        }else{
            return null;//如果没有相同的元素则返回null
        }
    }
发布了37 篇原创文章 · 获赞 29 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42755868/article/details/97639765