相关疑难解决方法(0)

如何使用单个流操作从对象获取多个值?

我想确定显示点集合所需的最小区域.简单的方法是循环遍历集合,如下所示:

int minX = Integer.MAX_VALUE;
int maxX = Integer.MIN_VALUE;
int minY = Integer.MAX_VALUE;
int maxY = Integer.MIN_VALUE;
for (Point point: points) {
    if (point.x < minX) {
        minX = point.x;
    }
    if (point.x > maxX) {
        maxX = point.x;
    }
    if (point.y < minY) {
        minY = point.y;
    }
    if (point.y > maxY) {
        maxY = point.y;
    }
}
Run Code Online (Sandbox Code Playgroud)

我开始了解溪流.要做到这一点,您可以执行以下操作:

int minX = points.stream().mapToInt(point -> point.x).min().orElse(-1);
int maxX = points.stream().mapToInt(point -> point.x).max().orElse(-1);
int minY = points.stream().mapToInt(point -> point.y).min().orElse(-1);
int maxY …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

9
推荐指数
3
解决办法
221
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1