我目前正在查看 Javaslang 库,并且正在尝试将我的一些代码转换为 Javaslang。
我目前有这段代码,都是纯Java
Cell[][] maze; //from input
Map<Cell, Long> cellCounts = Stream.of(maze)
.flatMap(Stream::of)
.collect(groupingBy(c -> c, counting()));
我正在考虑将其转换为 Javaslang,因为我对这个库很感兴趣,我只是想玩弄它。
我正在尝试做类似的事情,但转换为 Javaslang 映射而不是 java.util.Map。
到目前为止我已经尝试过了,但后来我被卡住了,因为我看不到转换它的方法。
Array.of(maze)
.flatMap(Array::of)
所以我有我的 Cell 对象列表,但我想弄清楚如何将其转换为 javaslang.collection.Map
*编辑 *
我已经研究过通过这个将我原来的 java.util.Map 转换为 javaslang.collections.Hashmap
HashMap<Cell, Long> cellsCount = HashMap.ofEntries(cellCounts
.entrySet()
.toArray(new Map.Entry[0]));
这似乎仍然不符合 Javaslang,但我会继续寻找。