java怎么找出list中重复数据

63次阅读
没有评论

共计 802 个字符,预计需要花费 3 分钟才能阅读完成。

要找出一个 List 中的重复数据,你可以使用两种方法:

方法一:使用两个循环来比较每个元素是否重复。

List<Integer> list = Arrays.asList(1, 2, 3, 4, 1, 2, 3);
List<Integer> duplicates = new ArrayList<>();

for (int i = 0; i < list.size(); i++) {for (int j = i + 1; j < list.size(); j++) {if (list.get(i).equals(list.get(j))) {duplicates.add(list.get(i));
        }
    }
}

System.out.println(duplicates); // 输出 [1, 2, 3]

方法二:使用 HashMap 来统计元素出现的次数,然后找出出现次数大于 1 的元素。

List<Integer> list = Arrays.asList(1, 2, 3, 4, 1, 2, 3);
Map<Integer, Integer> countMap = new HashMap<>();
List<Integer> duplicates = new ArrayList<>();

for (int num : list) {if (countMap.containsKey(num)) {countMap.put(num, countMap.get(num) + 1);
    } else {countMap.put(num, 1);
    }
}

for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {if (entry.getValue() > 1) {duplicates.add(entry.getKey());
    }
}

System.out.println(duplicates); // 输出 [1, 2, 3]

这两种方法都可以找出 List 中的重复数据,你可以根据实际情况选择使用哪种方法。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-09发表,共计802字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)