我需要创建一个函数
Map<Category, Double> averagePricePerCategory
它接收List<Buildings> buildings
作为对象的参数,这些对象具有:
private int price;
private String neighborhood;
private Category category;
我需要得到每一个的价格,计算平均值,并返回一个Map,其中包含它们各自的类别和平均价格。我真的很难理解我如何才能做到这一点。
到目前为止,我被困在下一步该做什么,它应该如何喜欢。
static Map<Category, Double> averagePricePerCategory(List<Building> buildings) {
Map<String, Double> averagePriceCategory = new HashMap<>();
Category x = buildings.get(0).getCategory();
if(buildings.isEmpty()){
return new HashMap<>();
}else{
for(Building b: buildings){
}
}
return null;
}
2条答案
按热度按时间xzlaal3s1#
如果我理解了你的问题的要点,那么使用流API,你可以使用如下代码:
您可以在此处找到更多关于使用流API分组的示例:https://www.baeldung.com/java-groupingby-collector
5sxhfpxr2#
要从数值列表中生成性能平均解,请保留两个变量:它们的和,它们的计数,然后
avg = sum/count
由于我们需要为每个类别进行此操作,因此需要一个分组步骤,一个想法是为每个类别制作价格列表,但这将消耗内存,因此我们坚持每个类别的
sum
和count
的第一个想法第一个