Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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 按顺序识别列表中的重复项_Java - Fatal编程技术网

Java 按顺序识别列表中的重复项

Java 按顺序识别列表中的重复项,java,Java,我有一个ArrayList,Java的一个集合类,如下所示: ArrayList<String> animals = new ArrayList<String>(); animals.add("bat"); animals.add("owl"); animals.add("bat"); animals.add("bat"); Map<String, Integer> counts = animals.stream() .coll

我有一个ArrayList,Java的一个集合类,如下所示:

ArrayList<String> animals = new ArrayList<String>();
animals.add("bat");
animals.add("owl");
animals.add("bat");
animals.add("bat");
Map<String, Integer> counts =
    animals.stream()
           .collect(Collectors.groupingBy(e -> e, Collectors.summingInt(s -> 1)));
counts.forEach((k, v) -> IntStream.range(1,v+1).forEach(i -> System.out.println(i + ":" + k)));

有人能帮我用java编码吗?

你可以很容易地从你生成的
Map
中得到你想要的输出

Map<String, Long> counts =
    animals.stream()
           .collect(Collectors.groupingBy(e -> e, Collectors.counting()));
counts.forEach((k, v) -> LongStream.range(1,v+1).forEach(i -> System.out.println(i + ":" + k)));
无论哪种方式,输出都是:

1:bat
2:bat
3:bat
1:owl

你的代码是什么?请更新你的问题,而不是在itI中用你的代码写评论。我不知道为什么在没有向问题添加内容的情况下删除带有OP的streams代码的评论。请将该注释中的代码添加到问题正文中。
1:bat
2:bat
3:bat
1:owl