最佳答案
我有一个 List<Foo>
和想要一个 Multimap<String, Foo>
,其中我们已经分组的 Foo
的根据他们的 getId()
功能。
我使用的是 Java8,它几乎很棒,因为你可以这样做:
List<Foo> foos = ...
Map<String, List<Foo>> foosById = foos.stream().collect(groupingBy(Foo::getId));
然而,我有大量的代码需要一个 MultiMap<String, Foo>
,所以这并没有为我节省任何东西,我回到使用 for 循环来创建我的 Multimap
。我是不是错过了什么“实用”的好方法?