Java中的Stream函数是什么?如何使用?
发布时间:2023-06-12 21:46:32
Java中的Stream函数是一项功能强大的API,可以处理数据集合中的数据。Stream函数提供了一种快速而简单的方法来对集合数据进行过滤、映射、排序、聚合和处理。它可以用来代替传统的循环方式,使代码更简洁、易读、易于维护。
Stream函数的使用非常简单,其基本结构如下:
stream().map().filter().sorted().collect()
其中,stream() 表示要对哪个数据集合进行处理,map() 表示对数据集合中的每个元素进行映射操作,filter() 表示对数据集合进行筛选操作,sorted() 表示对数据集合进行排序操作,collect() 表示将处理后的数据集合收集起来。
下面结合示例来详细介绍Stream函数的使用。
1. 对数据集合进行过滤操作
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); List<Integer> evenNumbers = numbers.stream().filter(n -> n % 2 == 0).collect(Collectors.toList()); System.out.println(evenNumbers);
输出结果为:[2, 4, 6, 8, 10]
2. 对数据集合进行映射操作
List<String> words = Arrays.asList("Hello", "World", "Java", "Stream", "Lambda");
List<Integer> length = words.stream().map(s -> s.length()).collect(Collectors.toList());
System.out.println(length);
输出结果为:[5, 5, 4, 6, 6]
3. 对数据集合进行排序操作
List<Integer> numbers = Arrays.asList(5, 2, 8, 4, 9, 1, 7, 3, 6, 10); List<Integer> sortedNumbers = numbers.stream().sorted().collect(Collectors.toList()); System.out.println(sortedNumbers);
输出结果为:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
4. 对数据集合进行聚合操作
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int sum = numbers.stream().reduce(0, (a, b) -> a + b);
System.out.println("Sum of numbers: " + sum);
输出结果为:Sum of numbers: 55
在这个示例中,reduce() 函数用来计算数据集合中所有元素的和。
综上所述,Java中的Stream函数是一项十分强大的API,可以帮助我们快速、简单、高效地处理数据集合中的数据。掌握Stream函数的使用,能够使我们的代码更加简洁、易读、易于维护,提高开发效率。
