stream流常用方法distinct
时间: 2023-11-22 13:48:00 浏览: 42
Stream流的distinct()方法是用于去除流中的重复元素,返回一个去重后的新流。下面是一个Java代码的例子,演示了如何使用distinct()方法:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class StreamDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("小明");
list.add("小红");
list.add("小兰");
list.add("小红");
list = list.stream().distinct().collect(Collectors.toList());
System.out.println("value:"+list);
}
}
```
输出结果为:
```
value:[小明, 小红, 小兰]
```
相关问题
stream流常用方法
Stream流是Java 8引入的一个新特性,提供了一种更加简洁、高效、灵活的数据处理方式。Stream流常用方法有以下几种:
1. filter():过滤满足条件的元素。
2. map():对每个元素进行转换操作,从一个值转换成另一个值。
3. forEach():遍历Stream流中的每个元素,进行处理,如输出、修改等。
4. sorted():对Stream流中的元素进行排序。
5. distinct():去重。通过元素的 equals() 方法进行比较。
6. limit():限制Stream流中元素的数量,只取前几个元素。
7. skip():跳过Stream流中的前n个元素,只取后面的元素。
8. reduce():将Stream流中的元素聚合成一个值。
9. collect():将Stream流中的元素收集起来,生成一个新的集合或者数组。
Stream流的这些方法可以通过链式调用来进行操作,可以一次性对数据进行多个处理操作,提高代码的可读性和效率。Stream流常用于集合的处理、筛选、排序、聚合等操作,简化了数据处理过程,提高了代码的可维护性和可扩展性。
java之stream流常用方法
以下是Java中Stream流的常用方法:
1. filter()方法:根据指定的条件过滤流中的元素。
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
```
2. map()方法:将流中的每个元素映射为另一个元素。
```java
List<String> names = Arrays.asList("John", "Tom", "Jerry");
List<Integer> nameLengths = names.stream()
.map(String::length)
.collect(Collectors.toList());
```
3. sorted()方法:对流中的元素进行排序。
```java
List<Integer> numbers = Arrays.asList(5,3, 1, 4, 2);
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
```
4. distinct()方法:去除流中的重复元素。
```java
List<Integer> numbers = Arrays.asList(1, 2, 2, 3, 3, 4, 5);
List<Integer> distinctNumbers = numbers.stream()
.distinct()
.collect(Collectors.toList());
```
5. limit()方法:限制流中元素的数量。
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> limitedNumbers = numbers.stream()
.limit(3)
.collect(Collectors.toList());
```
6. skip()方法:跳过流中的前几个元素。
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> skippedNumbers = numbers.stream()
.skip(2)
.collect(Collectors.toList());
```
7. forEach()方法:对流中的每个元素执行指定的操作。
```java
List<String> names = Arrays.asList("John", "Tom", "Jerry");
names.stream()
.forEach(System.out::println);
```