关于Map的遍历以及转JsonArray存储方式

 更新时间:2024年11月04日 10:48:37   作者:疯狂咕噜咚  
在Java开发过程中,经常会遇到需要对复杂数据结构进行处理的情况,本案例以List<Map<String,Object>>为例,介绍了如何遍历该数据结构,并根据特定条件筛选出符合要求的元素,通过自定义一个Edit类来模拟形成一个新的Map对象,实现了数据的有序存储

Map的遍历以及转JsonArray存储

案例目的将List<Map<String,Object>> 遍历,按条件取得map里面符合要求的元素

将其有序的放到自定义的一个Edit类中,模拟形成一个新的Map对象:

  • Edit类:
public class Edit {
    private String key;
    private String value;
    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}
  • 测试类:
public class Test {
    public List<Map<String,Object>> see() {
        Map<String, Object> map = new HashMap<>();
        map.put("wkx", "666");
        map.put("laq", "999");
        map.put("key", "datetime");
        map.put("value", "2000");
        Map<String, Object> map2 = new HashMap<>();
        map2.put("wkx2", "666");
        map2.put("laq2", "999");
        map2.put("key", "dateid");
        map2.put("value", "1000");
        List<Map<String, Object>> listmap = new LinkedList<>();
        listmap.add(map);
        listmap.add(map2);
        return listmap;
    }
    public static void main(String[] args) {
        Test a = new Test();
        List<Edit> edits=new LinkedList<>();
        List<List<Edit>> mapplus =new LinkedList<>();
        List list = a.see();
      for (int i=0;i<list.size();i++){
              Edit edit = new Edit();
              Map<String, Object> map = (Map) list.get(i);
              for (Map.Entry entry : map.entrySet()) {
                  if ("key".equals(entry.getKey())) {
                      edit.setKey((String)entry.getValue());
                  }
                  if ("value".equals(entry.getKey())) {
                      edit.setValue((String) entry.getValue());
                  }
              }
              if (edit.getKey()!=null&&edit.getValue()!=null) {
                  edits.add(edit);
            }
        }
        mapplus.add(edits);
        System.out.println(list.toString());
    }
}

将mapplus里面的内容全部存储到数据库中的一个字段中

 public String list2string(List<List<Edit>> list){
        //但我们得到一个全新的list<map>时,我们要把它里面所有的map(包括key和value都存到数据库中的一个字段中去)
        // 我们用到jsoAarray
        JSONArray jsonArray = new JSONArray();
        //逐渐遍历之前取得的mapplus
        list.forEach(n->{
            n.forEach(e -> {
                String key = e.getKey();
                String value = e.getValue();
            });
            jsonArray.add(n);
        });
        return JSONArray.toJSONString(jsonArray);
    }


//测试
       mapplus.add(edits);
       String ss = new SortByLetter().list2string(mapplus);
       System.out.println(ss);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • RabbitMQ实现Work Queue工作队列的示例详解

    RabbitMQ实现Work Queue工作队列的示例详解

    工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。本篇文章将记录和分享RabbitMQ工作队列相关的知识点,希望对大家有所帮助
    2023-01-01
  • IDEA在Maven项目中使用本地jar包的方法

    IDEA在Maven项目中使用本地jar包的方法

    我们在拿到旧项目的时候,经常会遇到一种情况,就是这个项目的maven中依赖了一个本地的jar包,这种情况就需要引入这个jar包,所以本文给大家介绍了IDEA在Maven项目中使用本地jar包的方法,需要的朋友可以参考下
    2024-04-04
  • 详谈spring中bean注入无效和new创建对象的区别

    详谈spring中bean注入无效和new创建对象的区别

    这篇文章主要介绍了spring中bean注入无效和new创建对象的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 详解Spring Boot 部署jar和war的区别

    详解Spring Boot 部署jar和war的区别

    本篇文章主要介绍了详解Spring Boot 部署jar和war的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • SpringBoot整合GitLab-CI实现持续集成的过程

    SpringBoot整合GitLab-CI实现持续集成的过程

    这篇文章主要介绍了SpringBoot整合GitLab-CI实现持续集成,本文详细讲述了 GitLab-CI 持续集成的安装、部署、以及配置,需要的朋友可以参考下
    2022-12-12
  • SpringWebMVC的常用注解及应用分层架构详解

    SpringWebMVC的常用注解及应用分层架构详解

    这篇文章主要介绍了SpringWebMVC的常用注解及应用分层架构,SpringWebMVC是基于ServletAPI构建的原始Web框架,从⼀开始就包含在Spring框架中,感兴趣的朋友可以参考下
    2024-05-05
  • 详解lombok @Getter @Setter 使用注意事项

    详解lombok @Getter @Setter 使用注意事项

    这篇文章主要介绍了详解lombok @Getter @Setter 使用注意事项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • java基础的详细了解第九天

    java基础的详细了解第九天

    这篇文章对Java编程语言的基础知识作了一个较为全面的汇总,在这里给大家分享一下。需要的朋友可以参考,希望能给你带来帮助
    2021-08-08
  • SpringMVC 整合SSM框架详解

    SpringMVC 整合SSM框架详解

    这篇文章主要介绍了SpringMVC 整合SSM框架详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java设计模式之建造者模式浅析示例

    Java设计模式之建造者模式浅析示例

    建造者模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。本文将通过示例讲解建造者模式,需要的可以参考一下
    2022-11-11

最新评论