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);
計(jì)數(shù)(Count)
可以使用count()
方法來計(jì)算Stream中元素的個(gè)數(shù)。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); long count = numbers.stream().count(); System.out.println("Count: " + count);
連接字符串(Joining)
可以使用collect()
方法結(jié)合Collectors.joining()
來將Stream中的元素連接成一個(gè)字符串。
List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); String joinedNames = names.stream().collect(Collectors.joining(", ")); System.out.println("Joined Names: " + joinedNames);
分組(Grouping)
可以使用collect()
方法結(jié)合Collectors.groupingBy()
來根據(jù)某個(gè)屬性對(duì)Stream中的元素進(jìn)行分組。
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()
方法結(jié)合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的聚合功能面試精講的詳細(xì)內(nèi)容,更多關(guān)于java Stream聚合功能的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring?Boot?項(xiàng)目中?JPA?語(yǔ)法的基本使用方法
這篇文章主要介紹了?Spring?Boot?項(xiàng)目中?JPA?語(yǔ)法的基本使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10SpringMVC之DispatcherServlet配置文件應(yīng)該放在哪里呢
這篇文章主要介紹了SpringMVC之DispatcherServlet配置文件應(yīng)該放在哪里的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11使用SpringBoot的CommandLineRunner遇到的坑及解決
這篇文章主要介紹了使用SpringBoot的CommandLineRunner遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02JAVA技術(shù)實(shí)現(xiàn)上傳下載文件到FTP服務(wù)器(完整)
這篇文章主要介紹了JAVA技術(shù)實(shí)現(xiàn)上傳下載文件到FTP服務(wù)器(完整),本文使用 Apache Jakarta Commons Net(commons-net-3.3.jar) 基于FileZilla Server服務(wù)器實(shí)現(xiàn)FTP服務(wù)器上文件的上傳/下載/刪除等操作,需要的朋友可以參考下2015-07-07Springboot AOP對(duì)指定敏感字段數(shù)據(jù)加密存儲(chǔ)的實(shí)現(xiàn)
本篇文章主要介紹了利用Springboot+AOP對(duì)指定的敏感數(shù)據(jù)進(jìn)行加密存儲(chǔ)以及對(duì)數(shù)據(jù)中加密的數(shù)據(jù)的解密的方法,代碼詳細(xì),具有一定的價(jià)值,感興趣的小伙伴可以了解一下2021-11-11