Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java找出list中重复数据

作者:清梦独行   发布日期:2025-03-29   浏览:60

import java.util.*;

public class FindDuplicates {
    public static void main(String[] args) {
        // 创建一个包含重复元素的列表
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9);

        // 方法1:使用stream API和Collectors.groupingBy统计每个元素出现的次数
        Map<Integer, Long> frequencyMap = list.stream()
                .collect(Collectors.groupingBy(e -> e, Collectors.counting()));

        // 找出所有出现次数大于1的元素,即为重复元素
        System.out.println("方法1 - 重复元素:");
        frequencyMap.entrySet().stream()
                .filter(entry -> entry.getValue() > 1)
                .forEach(entry -> System.out.println("元素 " + entry.getKey() + " 出现了 " + entry.getValue() + " 次"));

        // 方法2:使用HashSet来找出重复元素
        Set<Integer> uniqueElements = new HashSet<>();
        Set<Integer> duplicates = new HashSet<>();

        for (Integer element : list) {
            if (!uniqueElements.add(element)) { // 如果add返回false,说明该元素已经存在
                duplicates.add(element);
            }
        }

        System.out.println("方法2 - 重复元素: " + duplicates);
    }
}

解释说明:

  1. 方法1:使用Java 8的Stream API和Collectors.groupingBy对列表中的元素进行分组,并统计每个元素出现的次数。然后过滤出出现次数大于1的元素,这些就是重复元素。

  2. 方法2:使用HashSet来存储唯一的元素。当尝试将一个元素添加到HashSet时,如果该元素已经存在,则将其添加到另一个HashSetduplicates)中,这样就可以找出所有的重复元素。

这两种方法都可以有效地找出列表中的重复数据。

上一篇:javax.servlet.filter

下一篇:java arrays.aslist

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站