java 中的list流
时间: 2023-08-05 08:05:27 浏览: 55
Java中的List流(Stream)是Java 8引入的一种新的数据处理方式,它可以对List中的元素进行各种操作,例如过滤、映射、排序等,而不需要使用循环或迭代器。使用List流的好处是可以使代码更加简洁和易于阅读,并且可以利用多核处理器的并行处理能力来提高性能。
以下是一些常见的List流操作:
1. 过滤列表中的元素
```
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Emma");
List<String> filteredNames = names.stream().filter(name -> name.startsWith("C")).collect(Collectors.toList());
System.out.println(filteredNames); // 输出 [Charlie]
```
在这个例子中,我们使用filter操作筛选出以字母"C"开头的名字,并将结果收集到新的列表中。
2. 将列表中的元素映射为新的值
```
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Emma");
List<Integer> nameLengths = names.stream().map(name -> name.length()).collect(Collectors.toList());
System.out.println(nameLengths); // 输出 [5, 3, 7, 4, 4]
```
在这个例子中,我们使用map操作将每个名字映射为其长度,并将结果收集到新的列表中。
3. 对列表中的元素进行排序
```
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Emma");
List<String> sortedNames = names.stream().sorted().collect(Collectors.toList());
System.out.println(sortedNames); // 输出 [Alice, Bob, Charlie, Dave, Emma]
```
在这个例子中,我们使用sorted操作对名字列表进行排序,并将结果收集到新的列表中。
以上是一些常见的List流操作,还有很多其他的操作可以使用,例如distinct、limit、reduce等。使用List流可以简化代码,提高代码的可读性和性能。