我有两个列表:
List<String> ids
List<String> names
任务是从这两个列表中创建一个Map<String,String>
,最好使用Java 8。
不幸的是,当我们有String类型的列表时,我没找到怎么做的。
答案 0 :(得分:0)
假设两个列表的大小相同,并且id是唯一的,并且id是地图的键,并且名称是对应的值,则可以使用以下代码创建地图:
Map<String,String> idsNames = IntStream.range(0,ids.size())
.mapToObj(i -> new AbstractMap.SimpleEntry<>(ids.get(i),names.get(i)))
.collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey,
AbstractMap.SimpleEntry::getValue));