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

组通过Object的一个属性通过另一个属性

暴招
2023-03-14

谁能帮帮我吗。我有一个物品清单——在我的例子中有啤酒厂。每个酿酒厂都有一些属性(字段),如姓名、地址、id、省份(所在州)等。。。一家酿酒厂(名称)可以位于多个省份。现在我需要解决的问题是:如何计算每个州的啤酒厂数量?所以,按省份分组。所有数据都是从csv文件读取的。我已经创建了返回啤酒厂列表的阅读器。当我尝试这个:

Map<String, List<Breweries>> hashMap = new HashMap<>();
    hashMap = list.stream().collect(Collectors.groupingBy(Breweries::getProvince));
    for (Map.Entry<String, List<BreweriesPOJO>> stringListEntry : hashMap.entrySet()) {
        System.out.println(stringListEntry.getKey());
    }

这将返回我键(省)和整个对象作为值。

我已经坐了几个小时了。我没有主意了。

共有1个答案

奚正谊
2023-03-14

你的例子不正确,你有一个HashMap

Map<String, List<Breweries>> hashMap = list.stream().collect(Collectors.groupingBy(Breweries::getProvince));
for (Map.Entry<String, List<Breweries>> stringListEntry : hashMap.entrySet()) {
    List<Breweries> breweries = stringListEntry.getValue();
}

但是如果你只是想要每个省的啤酒厂数量,你可以直接这样做:

Map<String, Long> hashMap = list.stream().collect(Collectors.groupingBy(Breweries::getProvince, Collectors.counting()));
for (Map.Entry<String, Long> entry : hashMap.entrySet()){
    System.out.println(entry.getKey() + ": " + entry.getValue() + " Breweries");
}

 类似资料:
  • 问题内容: 是否可以通过读取另一个bean的属性来设置一个bean的属性?例如,假设我有: 我希望Spring实例化这两个类,并调用A的setList方法,并传入调用B的getList方法的结果。Spring配置可能类似于: las,这种伪造的XML不起作用。 为什么不将B注入A?因为我不想引入额外的依赖关系。A仅依赖列表,而不依赖B。 问题答案: 如果你使用的是spring 3.0,还可以使用新

  • 问题内容: 是否可以通过读取另一个bean的属性来设置一个bean的属性?例如,假设我有: 我希望Spring实例化这两个类,并调用A的setList方法,并传入调用B的getList方法的结果。Spring配置可能类似于: las,这种伪造的XML不起作用。 为什么不将B注入A?因为我不想引入额外的依赖关系。A仅依赖列表,而不依赖B。 问题答案: 除了@Kevin的答案,如果您使用的是sprin

  • 问题内容: 因此,我最近开始涉足OOP,到目前为止一切进展顺利。虽然我本身没有任何问题,但我希望有一个令人惊奇的功能,尽管我找不到关于该功能的任何文档。 在为对象分配属性时,我经常发现我必须更改依赖于他人的属性,例如光明与黑暗。这是一个例子: 现在,尽管这很酷,但我想要的是相同的过程,但是如果一个属性发生更改,则在同一对象内。如果我重置光的属性(是的),我希望黑暗相应地增加/减少。如果可以更改光的

  • 我的Firebase数据是这样组织的: 如何通过名称检索客户? 名称保证是唯一的。 这是我的客户服务,目前: 我应该在每个findByName()调用中扫描所有客户吗? 还是应该构建一个类似“二级索引”的东西? 拜托,一些建议,我才刚刚开始...-(

  • 问题内容: 是否可以通过多个值过滤对象数组? 例如,在下面的示例中,我可以按term_ids 5和6进行过滤,然后同时键入car吗? 如果可以轻松使用,肯定可以使用库。 问题答案: 您可以使用Array.filter

  • 我试图标识匹配两个条件(类别和位置)的行div。这将允许我对那些匹配xpath的行执行storeXpathCount--这样我就可以确认显示的行数是正确的。 我有以下HTML: 请注意第二个div中'loc115031397a'后面的空格,因此使用了'contains'和not= 谢谢你的帮助...