@ Squiggs: Карта - не позволяет дублировать ключи.пожалуйста, посмотрите также на приведенный ниже код.Я подумал, что это может также помочь вам или дать вам немного больше информации.Я изменил строку входного источника на 1234345|str1,1234346|str2,1234347|str3
и обновил ее дополнительными строками, особенно sysout
, чтобы распечатать значения памяти.
String source = "1234345|str1,1234346|str2,1234347|str3";
return Arrays.stream(source.split(","))
.map(s -> s.split("\\|"))
.collect( Collectors.toMap ( s -> { System.out.println(" 1: "+Long.valueOf ( s[0])); return Long.valueOf ( s[0]);} ,
s -> { System.out.println(" 2: "+s[1]);return s[1]; },
( (v1, v2) -> { System.out.println("------ line 131 : "+v1 +" "+v2); return v2 ;} )
)
);
с указанным выше источником, который вы получите в виде: {1234346=str2, 1234347=str3, 1234345=str1}
Если я изменю источник на source = "123434|str1,123434|str2,123434|str3"
, я получу вывод как {123434=str3}