Java 按顺序识别列表中的重复项
我有一个ArrayList,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<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