У меня есть случай, когда мне нужно прочитать файл и получить группировку последовательности и список значений, связанных с последовательностью. Формат этих записей в файле подобен последовательности - val, пример
10-A
10-B
11-C
11-A
Я хочу, чтобы вывод был картой (Map<String,List<String>>
) с последовательностью в качестве ключа и списком значений, связанных с ним в качестве значения, как показано ниже
10,[A,B]
11,[C,A]
Есть ли способ, которым я могу сделать это без создания POJO для этих записей? Я пытался изучить использование Collectors.groupingBy
, и большинство примеров, которые я вижу, основаны на создании POJO.
Я пытался написать что-то вроде этого
Map<String, List<String>> seqCpcGroupMap = pendingCpcList.stream().map(rec ->{
String[] cpcRec = rec.split("-");
return new Tuple2<>(cpcRec[0],cpcRec[1])
}).collect(Collectors.groupingBy(x->x.))
или
Map<String, List<String>> seqCpcGroupMap = pendingCpcList.stream().map(rec ->{
String[] cpcRec = rec.split("-");
return Arrays.asList(cpcRec[0],cpcRec[1]);
}).collect(Collectors.groupingBy(x->(ArrayList<String>)x[0]));
Я не могу предоставить какую-либо клавишу, для которой groupingBy
может произойти для функции groupingBy
, есть ли способ сделать это или мне нужно создать POJO для использования groupingBy
?