美文网首页Java
图解Java Stream

图解Java Stream

作者: 熊猫飞哥 | 来源:发表于2020-10-13 00:20 被阅读0次

Java Stream提供了一套对数据进行操作的解决方法。

对数据的处理包含:分组转化归并统计
首先看分组

对图形列表按照颜色进行分组
首先定义形状类:
@Data
public class Shape {
    private String type;
    private String color;

    public Shape(String type, String color) {
        this.type = type;
        this.color = color;
    }
 }

构建列表进行测试:

public class Tester {
    public static void main(String[] args) {
        List<Shape> shapeList = new ArrayList<>();
        shapeList.add(new Shape("圆形", "红色"));
        shapeList.add(new Shape("三角形", "红色"));
        shapeList.add(new Shape("三角形", "绿色"));
        shapeList.add(new Shape("圆形", "绿色"));
        shapeList.add(new Shape("正方形", "蓝色"));
        shapeList.add(new Shape("正方形", "红色"));
        shapeList.add(new Shape("正方形", "绿色"));

        Map<String, List<Shape>> result = 
 shapeList
.stream()
.collect(Collectors.groupingBy(Shape::getColor));
        System.out.println(result);
    }
}

分组结果如下:

{蓝色=[Shape(type=正方形, color=蓝色)], 
绿色=[Shape(type=三角形, color=绿色), Shape(type=圆形, color=绿色), Shape(type=正方形, color=绿色)], 
红色=[Shape(type=圆形, color=红色), Shape(type=三角形, color=红色), Shape(type=正方形, color=红色)]}

相关文章

网友评论

    本文标题:图解Java Stream

    本文链接:https://www.haomeiwen.com/subject/awsmpktx.html