• Java 将list集合的字符串格式转为Map


    Java 将list集合的字符串格式转为Map

    1. List<Object> list = new ArrayList<>();
    2. Map<String,String> map1 = new HashMap<>();
    3. map1.put("fileName","测试1");
    4. map1.put("level","1");
    5. list.add(map1);
    6. Map<String,String> map2 = new HashMap<>();
    7. map2.put("fileName","测试2");
    8. map2.put("level","4");
    9. list.add(map2);
    10. Map<String,String> map3 = new HashMap<>();
    11. map3.put("fileName","测试3");
    12. map3.put("level","9");
    13. list.add(map3);
    14. Map<String,String> map4 = new HashMap<>();
    15. map4.put("fileName",null);
    16. map4.put("level",null);
    17. list.add(map4);
    18. System.out.println("list集合的字符串格式输出:");
    19. System.out.println(list.toString());
    20. List<String> collect = null;
    21. String regex = "\\s*},\\s*";
    22. try {
    23. System.out.println("-----------");
    24. System.out.println("Map类型");
    25. String replace = list.toString().replace(StrUtil.BRACKET_START, StrUtil.EMPTY).replace(StrUtil.BRACKET_END, StrUtil.EMPTY);
    26. collect = Pattern.compile(regex).splitAsStream(replace).collect(Collectors.toList());
    27. List<String> strList = new ArrayList<>(collect.size());
    28. for (int i = 0; i < collect.size(); i++) {
    29. if(i<collect.size()-1){
    30. strList.add(collect.get(i)+"}");
    31. }else{
    32. strList.add(collect.get(i));
    33. }
    34. }
    35. strList.stream().forEach(elem->{
    36. String strReplace = elem.replace(StrUtil.DELIM_START, StrUtil.EMPTY).replace(StrUtil.DELIM_END, StrUtil.EMPTY).replace(StrUtil.SPACE,StrUtil.EMPTY);
    37. // String[] columns = StrUtil.split(strReplace, StrUtil.COMMA);
    38. List<String> columns = StrUtil.split(strReplace, StrUtil.COMMA);
    39. Map<String,String> map = new HashMap<>();
    40. CollUtil.newArrayList(columns).stream().forEach(item->{
    41. // String[] split = StrUtil.split(item, "=");
    42. List<String> split = StrUtil.split(item, "=");
    43. if(split.size()==1){
    44. map.put(split.get(0),null);
    45. }else if(split.size()==2){
    46. map.put(split.get(0),split.get(1));
    47. }
    48. });
    49. System.out.println("我是map:"+map);
    50. });
    51. }catch (Exception e){
    52. e.printStackTrace();
    53. }

    结果:

  • 相关阅读:
    EasyCaptcha图形验证码工具
    21天学Python --- 打卡7:Spider爬虫入门
    软件测试基础
    2023年汉字小达人市级比赛题型示例和全真在线练习题
    vscode 提升小程序开发效率的必备插件与工具
    Java学习笔记——并发编程(三)
    一维差分数组
    vue常用6种数据加密方式的使用
    Kafka 就这么点东西,不难,直接拿走
    Genesis公链:夯实Web 3.0发展底座
  • 原文地址:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/134026817