当前位置: 首页 > 知识库问答 >
问题:

减少java中的自定义对象列表

璩华辉
2023-03-14
public class OrthogonalPoint extends AbstractPoint<OrthogonalPoint> {
    private double x;
    private double y;

    // constructor, getters, ...
}
public class PolarPoint extends AbstractPoint<PolarPoint> {
    private double rho;
    private double theta;

    // constructor, getters, ...
}
public abstract class AbstractPoint<PointType extends AbstractPoint<PointType>> {

    public abstract double getX();

    public abstract double getY();

    public final double distance(PointType other) {
        // calculate distance between current point and other point
    }
}
public class Route<T extends AbstractPoint<T>> {

    private final List<T> points = new ArrayList<>();

    public void appendPoint(T point) {
        this.points.add(point);
    }

    public double routeDistance() {
        // calculate total distance
    }
}
public double routeDistance() {
    return this.points.stream().reduce(0d, (point, point2) -> point.distance(point2));
}
Bad return type in lambda expression: double cannot be converted to T

共有1个答案

柴亦
2023-03-14

不能将减少为双点。如果您需要使用ArrayList,那么您可以Maptodouble,然后sum()(减少的特例):

points.stream().skip(1).mapToDouble(point ->
        points.get(points.indexOf(point) - 1).distance(point)).sum();

points.stream().limit(points.size() - 1).mapToDouble(point ->
        point.distance(points.get(points.indexOf(point) + 1))).sum();

使用μntstream可以执行以下操作:

IntStream.range(1, points.size()).mapToDouble(i ->
        points.get(i - 1).distance(points.get(i))).sum();
IntStream.range(0, points.size() - 1).mapToDouble(i ->
        points.get(i).distance(points.get(i + 1))).sum();
 类似资料:
  • 我正在努力找出如何使用Java流从对象值等于x的自定义对象列表中收集自定义对象。 这没有编译,但我不认为我离得很远--有人能指出我在哪里出错吗?

  • 我有一个对象数组 我需要这样的格式 我的代码是 但它的输出如下所示 请帮忙。谢谢你的时间

  • 我是morphia的新手,想知道是否可以在文档中嵌入自定义对象列表,同时拥有自定义名称。 例如,

  • 问题内容: 我正在运行的代码将创建包含多个用户定义类的大对象,然后必须对其进行序列化以供以后使用。据我所知,只有酸洗才能满足我的需求。我一直在使用cPickle来存储它们,但是它生成的对象大约是40G,来自运行在500 mb内存中的代码。序列化的速度不是问题,但是对象的大小是问题。我可以使用任何技巧或替代方法来使泡菜变小吗? 问题答案: 如果您必须使用pickle并且没有其他序列化方法对您有用,那

  • 我有下面的JSON,我正试图使用Jackson API反序列化它 我基本上需要一个附件类,它有一个AttachmentFile对象列表,如下所示: 如何使用自定义反序列化器实现这一点? 谢谢

  • 我有一个学生班,它有相关部门的列表。 我正在尝试用Drools编写规则。规则就像-如果一个学生属于某些部门,那么就采取行动。我无法找出正确的方法来做这件事。我在下面写的一个不起作用。我知道如果它的字符串列表有效。有没有办法在自定义对象上做包含。 终止 调用规则的代码 我正在使用Drools 6.2版本。