学堂 学堂 学堂公众号手机端

在Java中,使用StreamAPI可以对数据进行分组操作

lewis 2年前 (2023-12-23) 阅读数 6 #技术

在Java中,使用StreamAPI可以对数据进行分组操作。其中的Collectors.groupingBy()方法可以用来实现类似SQL中的GROUPBY功能。通过groupingBy()方法,可以按照指定的条件对数据进行分组,然后对每个组进行操作或聚合。

具体用法如下:

importjava.util.Arrays; importjava.util.List; importjava.util.Map; importjava.util.stream.Collectors; publicclassMain{ publicstaticvoidmain(String[]args){ List<String>fruits=Arrays.asList("apple","banana","grape","apple","orange","banana"); //将水果按照首字母进行分组 Map<Character,List<String>>groupByFirstLetter=fruits.stream() .collect(Collectors.groupingBy(s->s.charAt(0))); System.out.println(groupByFirstLetter); } }

在上面的例子中,我们将水果按照首字母进行分组,得到一个Map对象,其中键为水果的首字母,值为对应首字母的水果列表。运行代码后,会输出以下结果:


{a=[apple,apple],b=[banana,banana],g=[grape],o=[orange]}

这样就实现了按照首字母对水果进行分组的功能。groupingBy()方法还可以结合Collectors.counting()Collectors.summingInt()等方法进行进一步操作,实现更复杂的分组统计功能。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门