Использование lambda для форматирования Map в String
У меня есть карта с ключами и значениями типа Integer
. Мне нужно преобразовать её в строку с конкретным форматом: key1 - val1, key2 - val2, key3 - val3
. В настоящее время я использую метод forEach
, чтобы отформатировать каждый элемент, собираю их в список, а затем использую String.join()
.
List<String> ships = new ArrayList<>(4);
for (Map.Entry<Integer, Integer> entry : damagedMap.entrySet()) {
ships.add(entry.getKey() + " - " + entry.getValue());
}
result = String.join(",", ships);
Есть ли более короткий способ сделать это? Было бы хорошо использовать лямбды, так как мне нужно попрактиковаться в их использовании.
Java 8: Преобразование List<V> в Map<K, V>
Java 8: Как использовать лямбда-функцию, которая выбрасывает исключение?
Вывод типа с помощью рефлексии для лямбд в Java 8
Java Лямбда-выражения [закрыто]
"Новая инстанциация объектов при использовании потоков Java 8"