fork(3) download
  1. import java.util.List;
  2. import java.util.Map;
  3. import java.util.stream.Collectors;
  4. import java.util.stream.Stream;
  5.  
  6. class Ideone {
  7. public static void main(String[] args) {
  8. final List<Item> items = List.of(
  9. new Item("foo1", "foo1", "foo"),
  10. new Item("foo1", "foo2", "foo"),
  11. new Item("bar1", "bar1", "bar")
  12. );
  13. final Map<String, List<Item>> itemsByTeam =
  14. items.stream().collect(Collectors.groupingBy(item -> item.team));
  15. System.out.println(itemsByTeam);
  16. }
  17. }
  18.  
  19. class Item {
  20. public String id;
  21. public String name;
  22. public String team;
  23.  
  24. public Item(String id, String name, String team) {
  25. this.id = id;
  26. this.name = name;
  27. this.team = team;
  28. }
  29.  
  30. @Override
  31. public String toString() {
  32. return "Item{" +
  33. "id='" + id + '\'' +
  34. ", name='" + name + '\'' +
  35. ", team='" + team + '\'' +
  36. '}';
  37. }
  38. }
Success #stdin #stdout 0.17s 56840KB
stdin
Standard input is empty
stdout
{bar=[Item{id='bar1', name='bar1', team='bar'}], foo=[Item{id='foo1', name='foo1', team='foo'}, Item{id='foo1', name='foo2', team='foo'}]}