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

javalist去重的方法

作者:还依然存在   发布日期:2025-07-31   浏览:61

import java.util.*;

public class ListDistinctExample {
    public static void main(String[] args) {
        // 创建一个包含重复元素的List
        List<String> listWithDuplicates = Arrays.asList("apple", "banana", "orange", "apple", "grape", "banana");

        // 方法1: 使用LinkedHashSet去重,保留原始顺序
        List<String> distinctList1 = new ArrayList<>(new LinkedHashSet<>(listWithDuplicates));
        System.out.println("使用LinkedHashSet去重: " + distinctList1);

        // 方法2: 使用stream()和distinct()去重
        List<String> distinctList2 = listWithDuplicates.stream().distinct().toList();
        System.out.println("使用Stream API去重: " + distinctList2);

        // 方法3: 使用stream()和collect(Collectors.toCollection())去重并保留顺序
        List<String> distinctList3 = listWithDuplicates.stream().distinct().collect(Collectors.toCollection(ArrayList::new));
        System.out.println("使用Stream API和Collectors去重: " + distinctList3);
    }
}

解释说明:

  1. 方法1:使用LinkedHashSet去重

    • LinkedHashSet 是一个保持插入顺序的集合,因此它不仅可以去重,还能保留原始列表中元素的顺序。
    • listWithDuplicates 转换为 LinkedHashSet 后再转换回 ArrayList,即可得到去重后的列表。
  2. 方法2:使用Stream APIdistinct() 去重

    • stream() 方法将列表转换为流,distinct() 方法用于去除流中的重复元素。
    • 最后调用 toList() 将流重新转换为列表。注意,toList() 返回的是不可变列表。
  3. 方法3:使用Stream APICollectors.toCollection() 去重并保留顺序

    • 与方法2类似,但通过 Collectors.toCollection(ArrayList::new) 确保结果是一个可变的 ArrayList,并且保留了原始顺序。

以上三种方法都可以有效地对 List 进行去重操作。

上一篇:java list 对象排序

下一篇:java 静态代码块

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

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

Laravel 中文站