java - 在 Java 中将列表列表转换为 HashTable
问题描述
我有一个包含源和目标的列表列表。例如,
public static void main(String[] args) {
List<Edge> edges = new ArrayList<>();}
[“A”,“B”]
[“A”,“C”]
[“广告”]
[“是”]
我想将其转换为哈希图,例如
HashMap<String,List<String>> map = new HashMap<String,List<String>>();
A B C D
是
我该怎么做呢?
我有的功能
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]}
推荐阅读
- python - 如何配置 axios 请求到特定的
/ 只需编写路径,而不必每次都对域名进行硬编码 - ruby-on-rails - 提交和周边问题时 URL 已更改
- sonarqube - SonarQube:不可恢复的索引失败
- sql - 在 EDW_UPDATE_NOTE 列中一个接一个地附加更新日期
- angular - 检测Angular中组件内部的属性变化
- postgresql - 为什么这个全文搜索在 PostgreSQL 中不匹配?
- linux - cp 命令在 azure devops 的构建管道中的 Bash 脚本中不起作用
- javascript - 将字符串格式的数组转换为javascript数组
- azure - 如何仅在 AzureDevops 中下载最新的带有视图名称的 UniversalPackage?
- typescript - 如何使电子通道更安全?