【发布时间】:2018-05-30 06:57:30
【问题描述】:
我有以下TreeMap:
TreeMap<Long,String> gasType = new TreeMap<>(); // Long, "Integer-Double"
gasType.put(1L, "7-1.50");
gasType.put(2L, "7-1.50");
gasType.put(3L, "7-3.00");
gasType.put(4L, "8-5.00");
gasType.put(5L, "8-7.00");
Map<Integer,TreeSet<Long>> capacities = new TreeMap<>);
键的形式为1L(Long),值的形式为"7-1.50"(String 的连接,int 和double 由- 分隔) .
我需要创建一个新的TreeMap,其中的键是通过获取原始Map 的值的int 部分获得的(例如,对于值"7-1.50",新键将为@ 987654334@)。新的Map 的值将是一个TreeSet,其中包含与新键匹配的原始Map 的所有键。
因此,对于上面的输入,7 键的值将是 Set {1L,2L,3L}。
没有Streams 我也可以做到这一点,但我想用Streams 做到这一点。任何帮助表示赞赏。谢谢。
【问题讨论】:
标签: java java-8 java-stream