Java中l(wèi)ist.stream方法的去重操作有哪些

小樊
232
2024-08-13 12:22:36

在Java中,可以使用list.stream().distinct()方法來進(jìn)行去重操作,該方法會(huì)返回一個(gè)去除重復(fù)元素的流。此外,還可以結(jié)合使用Collectors.toSet()或Collectors.toMap()方法來實(shí)現(xiàn)去重操作。具體示例如下:

  1. 使用distinct()方法:
List<Integer> list = Arrays.asList(1, 2, 3, 1, 2, 4);
List<Integer> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList); // 輸出 [1, 2, 3, 4]
  1. 使用Collectors.toSet()方法:
List<Integer> list = Arrays.asList(1, 2, 3, 1, 2, 4);
Set<Integer> distinctSet = list.stream().collect(Collectors.toSet());
System.out.println(distinctSet); // 輸出 [1, 2, 3, 4]
  1. 使用Collectors.toMap()方法:
List<Integer> list = Arrays.asList(1, 2, 3, 1, 2, 4);
Map<Integer, Integer> distinctMap = list.stream().collect(Collectors.toMap(Function.identity(), Function.identity(), (e1, e2) -> e1));
System.out.println(distinctMap.keySet()); // 輸出 [1, 2, 3, 4]

0