Добавьте в System.out::print , я не могу понять

map.values().stream().distinct().forEach(System.out::print);

Я не могу добавить запятую в приведенном выше коде для добавления запятой между значениями хеш-таблицы.


person Shiga S    schedule 05.09.2020    source источник


Ответы (2)


Если я вас правильно понял, вы хотите сохранить все значения карты в строку, разделенную запятыми, чтобы вы могли использовать String.join(,,list);

Второй аргумент выше — это список строк, которые являются вашими значениями карты.

person Melroy Dsouza    schedule 05.09.2020

Вы можете сделать это следующим образом:

import java.util.Map;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        // An example map
        Map<Integer, String> map = Map.of(1, "One", 2, "Two", 3, "Three");

        // Join the values using comma as the delimiter
        String values = map.values().stream().distinct().collect(Collectors.joining(","));

        // Print
        System.out.println(values);
    }
}

Вывод:

Three,Two,One
person Arvind Kumar Avinash    schedule 05.09.2020