我有一个包含源和目标的列表列表。例如,
public static void main(String[] args) {
List<Edge> edges = new ArrayList<>();}
[“A”,“B”]
[“A”,“C”]
[“A”,“D”]
[“B”,“E”]
我想将其转换为 HashMap ,例如
HashMap<String,List<String>> map = new HashMap<String,List<String>>();
A:B、C、D
B:E
我该如何去做呢?
我有的功能
static class Edge {
public String source;
public String destination;
public Edge(String source, String destination) {
this.source = source;
this.destination = destination;
}
}
最佳答案
您可以简单地执行以下操作:
Map<String, List<String>> collMap = edges.stream()
.collect(Collectors.groupingBy(Edge::getSource,
Collectors.mapping(Edge::getDestination, Collectors.toList())));
给出输出:
{A=[B, C, D], B=[E]}
关于java - 在 Java 中将列表列表转换为哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55265964/