为了账号安全,请及时绑定邮箱和手机立即绑定

将字符串转换为映射

将字符串转换为映射

侃侃无极 2023-03-31 16:55:55
我有一个带有逗号分隔值的字符串"name1=John,name2=Jim,name3=Tina"(这可以增长),我想在一个带有键值对的 Map 中转换为{name1=John,name2=Jim,name3=Tina}.String names = "name1=John,name2=Jim,name3=Tina"; Map<String, String> map = Pattern.compile("\\s*-\\s*")                            .splitAsStream(externalResourcePath.trim())                            .map(s -> s.split(","))                            .collect(Collectors.toMap(p -> p[0], p -> p[1]));我得到的输出是{name1=John=name2=Jim}我想要的输出{name1=John,name2=Jim,name3=Tina}
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

您需要再次用“=”分隔以分隔键和值。

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


查看完整回答
反对 回复 2023-03-31
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信