我有一个输入列表,如下所示:var list = Arrays.asList("etc->hosts", "etc->dockers->ssl->certs", "root");
我正在尝试将其转换为嵌套Map:{etc={dockers={ssl={certs={}}}, hosts={}}, root={}}
我试着用点从输入列表中分割键,例如'-〉',并试着迭代来构造一个Map:Map〈字符串,Map〉。
已尝试.groupingBy()
.computeIfAbsent()
.stream().map().filter().collect()
,但均失败。
1条答案
按热度按时间sycxhyv71#
你不需要流,只需要一个简单的
for
循环遍历每个链:如果你想避免未检查的强制转换警告,你可以定义一个自引用Map,如下所示(假设你不打算混合其他值类型):
Ideone Demo