У меня есть ряд входных строк в следующем формате:Java 8 groupingby с пользовательским ключом
typeA:code1,
typeA:code2,
typeA:code3,
typeB:code4,
typeB:code5,
typeB:code6,
typeC:code7,
...
и мне нужно, чтобы получить Map<String, List<String>>
со следующей структурой:
typeA, [code1, code2, code3]
typeB, [code4, code5, code6]
typeC, [code7, code8, ...]
Улов что для генерации каждого типа мне нужно вызвать такую функцию на каждом входе. Строка:
public static String getType(String code)
{
return code.split(":")[0]; // yes this is horrible code, it's just for the example, honestly
}
I ' m довольно уверен, что Streams и Collectors могут это сделать, но я изо всех сил пытаюсь получить правильное заклинание, чтобы это произошло.
Спасибо, это очень близко к тому, что я придумал. Я понял, что тип первого параметра в groupingBy является func и что я могу использовать функцию getType. – endian