Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用条件转换HashMap中的流_Java_Filter_Java 8_Hashmap_Java Stream - Fatal编程技术网

Java 使用条件转换HashMap中的流

Java 使用条件转换HashMap中的流,java,filter,java-8,hashmap,java-stream,Java,Filter,Java 8,Hashmap,Java Stream,我对Java8非常陌生。我正在尝试从一个包含showname的流创建一个HashMap。我的问题是,这些名称可能会重复出现多次,这意味着它们必须映射到同一个键上。映射后,我尝试过使用filter,但我不确定要设置什么条件。x->x.equalsx? 流showNames的外观: 洛特,路西法,破坏者,洛特,驱魔者,教父 教父、路西法等 散列映射的键应为show的名称,值为字符串在流中出现的时间,您需要的是实际分组: Map<String, Long> result = yourLis

我对Java8非常陌生。我正在尝试从一个包含showname的流创建一个HashMap。我的问题是,这些名称可能会重复出现多次,这意味着它们必须映射到同一个键上。映射后,我尝试过使用filter,但我不确定要设置什么条件。x->x.equalsx? 流showNames的外观:

洛特,路西法,破坏者,洛特,驱魔者,教父 教父、路西法等


散列映射的键应为show的名称,值为字符串在流中出现的时间,您需要的是实际分组:

Map<String, Long> result = yourList.stream()
              .collect(Collectors.groupingBy(
                 Function.identity(), 
                 Collectors.counting()))

您想要的是实际分组:

Map<String, Long> result = yourList.stream()
              .collect(Collectors.groupingBy(
                 Function.identity(), 
                 Collectors.counting()))

你试过使用吗?可能重复的我先映射它,然后想过滤它,但是映射后我不能正确过滤你试过使用吗?可能重复的我先映射它,然后想过滤它,但是映射后我不能过滤correctly@HadiJ .. 字符串在streamuse Collectors.summingite->1而不是Collectors.Counting中出现的次数作为值。请记住,这只是一个HashMap,仅按实现细节显示。理论上,它可以更改为任何其他map实现。因此,如果HashMap是唯一合适的结构,那么您可能需要显式的。@HadiJ这是一个非常微小的性能改进,除非您知道存在瓶颈,否则我不会更改它。除此之外,计数更为惯用,也更易于阅读beginners@HadiJ正是我在评论中说的。。。如果升级到java-9,这个问题已经解决了。我会坚持counting@HadiJ .. 字符串在streamuse Collectors.summingite->1而不是Collectors.Counting中出现的次数作为值。请记住,这只是一个HashMap,仅按实现细节显示。理论上,它可以更改为任何其他map实现。因此,如果HashMap是唯一合适的结构,那么您可能需要显式的。@HadiJ这是一个非常微小的性能改进,除非您知道存在瓶颈,否则我不会更改它。除此之外,计数更为惯用,也更易于阅读beginners@HadiJ正是我在评论中说的。。。如果升级到java-9,这个问题已经解决了。我会坚持数数