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

Javalambda表达式-统计出现次数[重复]

翟淇
2023-03-14

我有下面的类和对象的ArrayList:

class Ticket{
    String destination;
}

ArrayList<Ticket> tickets;

我想要的是从我的列表中得到一个字符串和整数地图,其中包含门票中的目的地和我列表中每个目的地的出现次数。我想它会这样开始,但是我不知道如何继续:

Map<String,Integer> map=tickets.stream().filter(a->a.getDestination()).

共有2个答案

鲜于岳
2023-03-14

使用groupingBy收集器。

tickets.stream().collect(Collectors.groupingBy(Ticket::getDestination,
        Collectors.counting()));

这将给你一个Map

如果你想要一个带有整数值的映射,你可以用一个简单地返回1(这就是这个答案所做的)

夏嘉德
2023-03-14

您可以使用groupingBy收集器和SummingIT收集器的组合,如下所示:

Map<String,Integer> map = 
  tickets.stream()
         .collect(Collectors.groupingBy(Ticket::getDestination, 
                   Collectors.summingInt(e -> 1)));

在本例中,我特别使用了summingit收集器,因为counting()收集器返回一个Long类型,并且由于您希望映射值为整数,因此summingit收集器是最合适的。

 类似资料:
  • 本文向大家介绍Python统计列表中的重复项出现的次数的方法,包括了Python统计列表中的重复项出现的次数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴。具体方法如下: 对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在我们需要统计这个列表里的重复项,并且重复了

  • 本文向大家介绍JavaScript 数组去重并统计重复元素出现的次数实例,包括了JavaScript 数组去重并统计重复元素出现的次数实例的使用技巧和注意事项,需要的朋友参考一下 1、方法一 2、方法二(set方法去重) 以上这篇JavaScript 数组去重并统计重复元素出现的次数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我需要每隔周一和周三触发我的邮件。我在我的应用程序中使用JavaSpring。我尝试使用这个cron表达式和周三相同,但它在每月的1个周一和周三触发。我想要的是它应该在每月的第一、第三和第五周的周一和周三触发。 有人能帮我创建这个cron表达式吗?

  • count 方法用于检索指定字符串在另一字符串中出现的次数,如果检索的字符串不存在,则返回 0,否则返回出现的次数。 count 方法的语法格式如下: str.count(sub[,start[,end]]) 此方法中,各参数的具体含义如下: str:表示原字符串; sub:表示要检索的字符串; start:指定检索的起始位置,也就是从什么位置开始检测。如果不指定,默认从头开始检索; end:指定

  • 我有一个包含和列的表,想知道如何返回一个列,该列显示在当前出现之前出现了多少次。 我已尝试计数(作业编号),但我不知道如何将其设置为仅计数当前报告日期之前的事件。 到目前为止,我不得不将数据导出到excel中,并为报告日期执行一个Countifs 请帮忙!:)

  • 我已经将代码中的read整数修复为不再是I而是一个单独的变量“index”,并理解为什么我会收到Over Ofbound异常,但我有点厚,不明白如何在添加哨兵值0的同时修复它。