所以我有一辆普通车,有大小和长度变量。我已经创建了一个用于存储汽车对象的arraylist。我想使用java流使用lambda表达式按大小过滤列表,但只计算每个cars长度的平均值。所以在下面的代码中,我想得到尺寸大于10但小于30的汽车的平均长度。
我已经看到了其他关于如何平均整数数组列表等的帖子,但这是一个包含整数的对象列表,我无法获得任何输出,任何建议都非常感谢。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.List;
public class Car {
int size;
int length;
public Car (int s, int l) {
size = s;
length = l;
}
public int getSize() {
return size;
}
public int getLength() {
return length;
}
public static void main(String[]args) {
ArrayList<Car> list = new ArrayList<Car>();
Car t1 = new Car(1,5);
Car t2 = new Car(8,6);
Car t3 = new Car(12,9);
Car t4 = new Car(25,12);
list.add(t1);
list.add(t2);
list.add(t3);
list.add(t4);
int info = list.stream()
.filter(l -> l.getSize() > 10 && l.getSize() <30 )
.average(Car.getLength);
}
}
此上下文中的".平均()"终端/聚合操作用于IntStream类。
因此,不要调用。平均(Car.get长度)
(对于方法引用来说,这不是正确的语法,假设这就是您要做的),您需要这样的东西:
OptionalDouble average = list.stream()
.filter(l -> l.getSize() > 10 && l.getSize() < 30)
.mapToInt(Car::getLength)
.average();
int avg;
if (average.isPresent(){
avg = (int) average.getAsDouble();
System.out.println(avg);
}
那样的话,一旦开始。如果命中average()操作,则IntStream将正确命中该操作
如何处理平均值不存在的情况(例如,原始流列表为空)取决于您。我没有初始化avg变量,因为我假设您只需要在该条件下打印它,但是如果您以后需要它,您将需要实际初始化它。
https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.html
使用平均运算的一些示例:https://www.geeksforgeeks.org/intstream-average-in-java-with-examples/
我使用Jaspersoft Studio 6.3.1.final来设计一个包含表格和其他元素的报告。 设计如下所示。该表只有列标题和详细信息部分。 现在垂直打印字段,如下所示: 但我需要的是像这样水平展示它们: 我在网上搜索,没有找到任何运气。 有办法做到这一点吗?我被困在这里了。非常感谢您的帮助! 编辑: 这就是我将数据传递到报表的方式(使用现有的Java服务生成JRBeanDig
问题内容: 我得到了一个带有2列值的.txt文件。它们是2D坐标,因此第一列代表x值,第二列代表z值。不幸的是,有些行具有相同的x值但具有不同的z值。我想计算z值的平均值,以便将单个z与单个x关联。我所拥有的一个样本是: 如您所见,x值435.212与4个不同的z值相关联。我想拥有的是: 其中108.8985是(108.894 + 108.897 + 108.9 + 108.903)/ 4的结果。
问题内容: 我想知道模式草案03是否可行。我已经在其他地方使用了依赖项,我认为可能需要创造性地使用它们,以便使用它们来指定某些字段的属性。 我目前的最佳尝试(无效)将使您对我的追求有所了解。我想要一个默认值,当另一个字段具有特定值时是可选值。 问题答案: 草案的第3版绝对可以做到这一点。由于您具有允许的国家/地区的完整列表,因此您可以执行以下操作: 因此,您实际上为架构定义了两种子类型,一种用于需
我刚接触JasperReports,在解决一个问题时遇到了问题。 我有一份报告和一个字段,它是
假设有一个类: ...您有一个实例列表,即