Вот желаемое поведение:
[A: 4, B: 2, C: 3, D: 3] -> [A,A,A,A,B,B,C,C,C,D,D,D]
Я написал некоторый код для решения этой проблемы. Вот код:
Map<String, Integer> terms = new HashMap<>();
Stream.of(terms.entrySet())
.flatMap(entry -> {
List<String> items = new ArrayList<>();
for (int i = 0; i < entry.getValue(); i++) {
items.add(entry.getKey());
}
return Stream.of(items);
})
.forEach(System.out::println);
Есть ли лучший способ сделать это?Я относительно новичок в Rx, поэтому я хочу знать, есть ли лучшая практика или что-то в этом роде.