首页 > 解决方案 > 想在java 8中将字符串列表转换为映射

问题描述

我有一个字符串列表,我需要将它以键值对的形式放入 Map 中,在 java 8 中。有人可以帮助我。

List<string> list= [(Id=123,roll number=1,name=maddy)];

我需要 id 的值作为键,值作为 123。用逗号分隔的所有项目都一样。但我在 java 8 中需要它

标签: javalistdictionaryjava-8

解决方案


List将 the和 collect的元素拆分为Map

Map<String,String> map = 
    list.stream()
        .map(s -> s.split("="))
        .collect(Collectors.toMap(a->a[0], a->a[1]));

请注意,如果键应该是Integer,则必须更改a[0]Integer.valueOf(a[0])

另请注意,如果List可能包含重复的键,您应该决定如何处理它们(并可能向收集器添加合并功能)。


推荐阅读