在Java中,使用Stream API可以对数据进行分组操作。其中的Collectors.groupingBy()
方法可以用来实现类似SQL中的GROUP BY
功能。通过groupingBy()
方法,可以按照指定的条件对数据进行分组,然后对每个组进行操作或聚合。
具体用法如下:
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(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()
等方法进行进一步操作,实现更复杂的分组统计功能。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/899475.html