【发布时间】:2017-02-09 08:29:22
【问题描述】:
我想转换地图列表,即
List<Map<String,String>
到地图的地图,即
Map<String,Map<String,String>>;
在地图列表中,我存储了两个城市之间的距离。我的地图列表是:
[{目的地=爱荷华州,距离=2000,来源=纽约},{目的地=俄亥俄州, 距离=3000,来源=NY},{目的地=TX,距离=2500,来源=NY}, {目的地=NC,距离=1500,源=TX},{目的地=NY, 距离=2500,源=TX},{目的地=DEL,距离=3000, 来源=TX}]
现在我必须把它转换成
MAP<String<Map<String,String>>,
这样我们就可以获得与所有城市的距离。外部地图键将是源城市。值图将以目的地城市作为键,以源到目的地之间的距离作为值。输出格式为:
{TX={NC=1500, DEL=3000, NY=2500}, NY={IOWA=2000, TX=2500, OHIO=3000}}
我想使用 Java 8 Stream API 转换它。不知道如何使用 groupingby。
【问题讨论】:
-
你有没有试一试?
-
为什么不使用合适的对象?地图列表总是一种代码味道。
标签: java java-stream