import java.util.*;
public class RemoveDuplicates {
public static void main(String[] args) {
// 示例列表,包含重复元素
List<Integer> listWithDuplicates = Arrays.asList(1, 2, 2, 3, 4, 4, 5);
// 方法1: 使用Set去重 (最简单的方法)
Set<Integer> uniqueElements = new HashSet<>(listWithDuplicates);
System.out.println("使用Set去重: " + uniqueElements);
// 方法2: 使用Stream API去重 (Java 8及以上版本)
List<Integer> uniqueList = listWithDuplicates.stream().distinct().toList();
System.out.println("使用Stream API去重: " + uniqueList);
// 方法3: 使用LinkedHashSet保持顺序去重
Set<Integer> uniqueElementsInOrder = new LinkedHashSet<>(listWithDuplicates);
System.out.println("使用LinkedHashSet保持顺序去重: " + uniqueElementsInOrder);
}
}
使用Set去重:Set 是一个不允许有重复元素的集合。因此,将列表转换为 Set 可以自动去除重复元素。但 Set 不保证元素的顺序。
使用Stream API去重:从 Java 8 开始,可以使用 stream().distinct() 方法来去除重复元素,并且可以通过 toList() 将结果转换回列表。这种方式保留了原始顺序。
使用LinkedHashSet保持顺序去重:LinkedHashSet 是一种特殊的 Set,它不仅去重,还保留了插入顺序。因此,如果你需要去重的同时保持原来的顺序,可以选择这种方式。
以上代码展示了三种不同的去重方法,你可以根据具体需求选择合适的方式。
上一篇:java 有序set
下一篇:java iterable
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站