Java

图解Java Stream

2020-10-13  本文已影响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=红色)]}
上一篇 下一篇

猜你喜欢

热点阅读