java Stream的聚合功能面试精讲
java Stream聚合功能
求和(Sum)
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); int sum = numbers.stream().mapToInt(Integer::intValue).sum(); System.out.println("Sum: " + sum);
求平均值(Average)
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); double average = numbers.stream().mapToInt(Integer::intValue).average().orElse(0.0); System.out.println("Average: " + average);
最大值(Max)
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); int max = numbers.stream().mapToInt(Integer::intValue).max().orElse(0); System.out.println("Max: " + max);
最小值(Min)
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); int min = numbers.stream().mapToInt(Integer::intValue).min().orElse(0); System.out.println("Min: " + min);
计数(Count)
可以使用count()
方法来计算Stream中元素的个数。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); long count = numbers.stream().count(); System.out.println("Count: " + count);
连接字符串(Joining)
可以使用collect()
方法结合Collectors.joining()
来将Stream中的元素连接成一个字符串。
List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); String joinedNames = names.stream().collect(Collectors.joining(", ")); System.out.println("Joined Names: " + joinedNames);
分组(Grouping)
可以使用collect()
方法结合Collectors.groupingBy()
来根据某个属性对Stream中的元素进行分组。
List<Person> people = Arrays.asList( new Person("Alice", 25), new Person("Bob", 30), new Person("Charlie", 25) ); Map<Integer, List<Person>> peopleByAge = people.stream().collect(Collectors.groupingBy(Person::getAge)); System.out.println("People grouped by age: " + peopleByAge);
求和(Summarizing)
可以使用collect()
方法结合Collectors.summarizingInt()
等方法来获取元素的汇总信息,如求和、平均值、最大值、最小值等。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); IntSummaryStatistics stats = numbers.stream().collect(Collectors.summarizingInt(Integer::intValue)); System.out.println("Sum: " + stats.getSum()); System.out.println("Average: " + stats.getAverage()); System.out.println("Max: " + stats.getMax()); System.out.println("Min: " + stats.getMin());
以上就是java Stream的聚合功能面试精讲的详细内容,更多关于java Stream聚合功能的资料请关注脚本之家其它相关文章!
相关文章
SpringCloud-Alibaba-Nacos启动失败解决方案
这篇文章主要介绍了SpringCloud-Alibaba-Nacos启动失败解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-04-04Maven是什么?Maven的概念+作用+仓库的介绍+常用命令的详解
Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑.,本文给大家介绍Maven的概念+作用+仓库的介绍+常用命令,感兴趣的的朋友跟随小编一起看看吧2020-09-09SpringBoot之groups应对不同的Validation规则自定义方式
这篇文章主要介绍了SpringBoot之groups应对不同的Validation规则自定义方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
最新评论