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

java判断list中的重复数据

作者:木の兮   发布日期:2025-05-02   浏览:54

import java.util.*;

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

        // 方法1: 使用Set去重,判断是否有重复数据
        Set<Integer> set = new HashSet<>(list);
        if (set.size() < list.size()) {
            System.out.println("存在重复数据");
        } else {
            System.out.println("没有重复数据");
        }

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

        // 打印出所有出现次数大于1的元素
        frequencyMap.forEach((key, value) -> {
            if (value > 1) {
                System.out.println("元素 " + key + " 出现了 " + value + " 次");
            }
        });
    }
}

解释说明:

  1. 方法1: 使用Set去重

    • Set 是一个不允许重复元素的集合。通过将 List 转换为 Set,如果 Set 的大小小于原始 List 的大小,则说明存在重复数据。
    • 这种方法只能判断是否存在重复数据,但不能具体指出哪些元素是重复的。
  2. 方法2: 使用Stream API和Collectors.groupingBy

    • 使用 stream()Collectors.groupingBy 可以统计每个元素出现的次数,并将其存储在 Map 中。
    • 遍历 Map,打印出所有出现次数大于1的元素及其出现次数。
    • 这种方法不仅能判断是否存在重复数据,还能具体指出哪些元素是重复的以及它们出现的次数。

这两种方法都可以用来判断 List 中是否存在重复数据,具体选择哪种方法取决于你的需求。

上一篇:deque java

下一篇:java代码生成

大家都在看

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 中文站