У меня есть список объектов, которые мне нужно преобразовать в карту, где ключи — это функции каждого элемента, а значения — это списки другой функции каждого элемента. По сути, это группировка элементов по их функциям.
Например, предположим простой класс элемента:
class Element {
int f1() { ... }
String f2() { ... }
}
и их список:
[
{ f1=100, f2="Alice" },
{ f1=200, f2="Bob" },
{ f1=100, f2="Charles" },
{ f1=300, f2="Dave" }
]
то я хотел бы карту следующим образом:
{
{key=100, value=[ "Alice", "Charles" ]},
{key=200, value=[ "Bob" ]},
{key=300, value=[ "Dave" ]}
}
Может ли кто-нибудь предложить краткий способ сделать это на Java без итерации? Комбинация метода LambdaJ group
с Maps.transform
Guava почти дает результат, но group
не генерирует карту.