Это легко сделать, вы можете использовать API Steams для этого.Во-первых, вы отображаете каждую запись на карте в одну строку - объединенную строку ключа и значения.Если у вас есть это, вы можете просто использовать метод reduce()
или collect()
, чтобы сделать это.
Фрагмент кода с использованием метода Reduce () будет выглядеть примерно так:
Map<String, String> map = new HashMap<>();
map.put("sam1", "sam1");
map.put("sam2", "sam2");
String concatString = map.entrySet()
.stream()
.map(element-> element.getKey().toString() + " : " + element.getValue().toString())
.reduce("", (str1,str2) -> str1 + " , " + str2).substring(3);
System.out.println(concatString);
Это даст вам следующий вывод:
sam2 : sam2 , sam1 : sam1
Вы также можете использовать метод collect()' method instead of
redu () `.Это будет выглядеть примерно так:
String concatString = map.entrySet()
.stream()
.map(element-> element.getKey().toString() + " : " + element.getValue().toString())
.collect(Collectors.reducing("", (str1,str2) -> str1 + " , " + str2)).substring(3);
Оба метода дают одинаковый вывод.