У меня есть список объектов, которые мне нужно преобразовать в карту, где ключи являются функцией каждого элемента, а значения являются списками другой функции каждого элемента. По сути, это группировка элементов по их функции.
Например, предположим простой класс элементов:
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
Гуавы почти добирается туда, но group
не генерирует карту.