java Map map类型转换问题,速度解答

{date=2020-03-19, dtid=34,35,36, da=1,1,2}

这个类型的数据怎么转换为

date=2020-03-19{
{
dtid=34,
da=1
},
{
dtid=35,
da=1
},
{
dtid=36,
da=2
}
}

图片说明

https://www.cnblogs.com/zhainan-blog/p/12009523.html

首先,以 date 为新的结果的 key ,然后,以 dtid 和 da 一一对应,形成一个新的数据类型,作为 Map 的值,值类型为 List 。
参考代码:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class DataInfo {
    private String dtid ;
    private String da ;

    public DataInfo(String dtid, String da) {
        super();
        this.dtid = dtid;
        this.da = da;
    }
    public String getDtid() {
        return dtid;
    }
    public void setDtid(String dtid) {
        this.dtid = dtid;
    }
    public String getDa() {
        return da;
    }
    public void setDa(String da) {
        this.da = da;
    }

    @Override
    public String toString() {
        return "DataInfo [dtid=" + dtid + ", da=" + da + "]";
    }

    public static void main(String[] args) {
        Map<String,String> map = new HashMap<String,String>();
        map.put("date","2020-03-19");
        map.put("dtid","34,35,36");
        map.put("da","1,1,2");

        String date = map.get("date");
        String dtid = map.get("dtid");
        String da = map.get("da");
        String[] split1 = dtid.split(",");
        String[] split2 = da.split(",");
        if(split1.length != split2.length) {
            System.out.println("bad data.");
        }else {
            Map<String,List<DataInfo>> lastResult = new HashMap<String,List<DataInfo>>();
            List<DataInfo> datas = new ArrayList<DataInfo>();
            lastResult.put(date, datas);
            for(int i=0;i<split1.length;i++) {
                DataInfo temp = new DataInfo(split1[i],split2[i]);
                datas.add(temp);
            }
            System.out.println(date+","+lastResult.get(date));
        }
    }

}