2
现在我想要将列表转换为地图,例如,如何将列表转换为地图<K,V>但不是列表<V>
TaskStat t1 = new TaskStat("foo1", "bar1", 1);
TaskStat t2 = new TaskStat("foo1", "bar2", 2);
ArrayList<TaskStat> list = newArrayList(t1, t2);
Map<String, List<TaskStat>> map = list.stream().collect(groupingBy(e -> e.getA() + "_" + e.getB()));
assertEquals(1,map.get("foo1_bar1").get(0).getCount());
因为taskStat列表来自group by
SQL
select a, b , count(*) from t group by a,b
所以每次A + B只有一个记录。
如何将列表转换为Map<String,TaskStat>
而不是List?使用替代