import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Ideone {
public static void main
(String[] args
) { final List
<Item
> items
= List.
of( new Item("foo1", "foo1", "foo"),
new Item("foo1", "foo2", "foo"),
new Item("bar1", "bar1", "bar")
);
final Map
<String, List
<Item
>> itemsByTeam
= items.stream().collect(Collectors.groupingBy(item -> item.team));
System.
out.
println(itemsByTeam
); }
}
class Item {
this.id = id;
this.name = name;
this.team = team;
}
@Override
return "Item{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", team='" + team + '\'' +
'}';
}
}
aW1wb3J0IGphdmEudXRpbC5MaXN0OwppbXBvcnQgamF2YS51dGlsLk1hcDsKaW1wb3J0IGphdmEudXRpbC5zdHJlYW0uQ29sbGVjdG9yczsKaW1wb3J0IGphdmEudXRpbC5zdHJlYW0uU3RyZWFtOwoKY2xhc3MgSWRlb25lIHsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICBmaW5hbCBMaXN0PEl0ZW0+IGl0ZW1zID0gTGlzdC5vZigKICAgICAgICBuZXcgSXRlbSgiZm9vMSIsICJmb28xIiwgImZvbyIpLAogICAgICAgIG5ldyBJdGVtKCJmb28xIiwgImZvbzIiLCAiZm9vIiksCiAgICAgICAgbmV3IEl0ZW0oImJhcjEiLCAiYmFyMSIsICJiYXIiKQogICAgKTsKICAgIGZpbmFsIE1hcDxTdHJpbmcsIExpc3Q8SXRlbT4+IGl0ZW1zQnlUZWFtID0KICAgICAgICBpdGVtcy5zdHJlYW0oKS5jb2xsZWN0KENvbGxlY3RvcnMuZ3JvdXBpbmdCeShpdGVtIC0+IGl0ZW0udGVhbSkpOwogICAgU3lzdGVtLm91dC5wcmludGxuKGl0ZW1zQnlUZWFtKTsKICB9Cn0KCmNsYXNzIEl0ZW0gewogIHB1YmxpYyBTdHJpbmcgaWQ7CiAgcHVibGljIFN0cmluZyBuYW1lOwogIHB1YmxpYyBTdHJpbmcgdGVhbTsKCiAgcHVibGljIEl0ZW0oU3RyaW5nIGlkLCBTdHJpbmcgbmFtZSwgU3RyaW5nIHRlYW0pIHsKICAgIHRoaXMuaWQgPSBpZDsKICAgIHRoaXMubmFtZSA9IG5hbWU7CiAgICB0aGlzLnRlYW0gPSB0ZWFtOwogIH0KCiAgQE92ZXJyaWRlCiAgcHVibGljIFN0cmluZyB0b1N0cmluZygpIHsKICAgIHJldHVybiAiSXRlbXsiICsKICAgICAgICAiaWQ9JyIgKyBpZCArICdcJycgKwogICAgICAgICIsIG5hbWU9JyIgKyBuYW1lICsgJ1wnJyArCiAgICAgICAgIiwgdGVhbT0nIiArIHRlYW0gKyAnXCcnICsKICAgICAgICAnfSc7CiAgfQp9
{bar=[Item{id='bar1', name='bar1', team='bar'}], foo=[Item{id='foo1', name='foo1', team='foo'}, Item{id='foo1', name='foo2', team='foo'}]}