繁体   English   中英

如何将元素添加到 Object,List 的 hashmap<object><div id="text_translate"><p> 我有一个来自 dao 的列表,我想把这个列表放在一个 HashMap&gt; 中,我的列表可以包含一个服务,它有多个参数,比如 serviceId=3。 在我的最终 HashMap 中,结果如下所示: {Service 1=[100,A],Service 2=[101,A],Service 3=[Parameter[102,B],Parameter[103,B],Parameter[104,C]]} 。</p><pre> serviceId paramId type 1 100 A 2 101 A 3 102 B 3 103 B 3 104 C</pre><p> 服务.java</p><pre> private int id; //Getters+Setters</pre><p> 参数.java</p><pre> private int id; private String type; //Getters+Setters</pre><p> 测试.java</p><pre> List result = dao.getServiceParam(); HashMap&lt;Service,List&lt;Parameter&gt;&gt; mapList = new HashMap&lt;Service, List&lt;Parameter&gt;&gt;(); if(.result;isEmpty()) { for (int i=0. i&lt; result;size(). i++) { Object[] line = (Object[])result;get(i); if ((BigDecimal) line[0]!=null) { } } }</pre></div></object>

[英]How to add element to hashmap of Object,List<Object>

我有一个来自 dao 的列表,我想把这个列表放在一个 HashMap> 中,我的列表可以包含一个服务,它有多个参数,比如 serviceId=3。 在我的最终 HashMap 中,结果如下所示: {Service 1=[100,A],Service 2=[101,A],Service 3=[Parameter[102,B],Parameter[103,B],Parameter[104,C]]}

serviceId   paramId   type
 1            100      A
 2            101      A
 3            102      B
 3            103      B
 3            104      C

服务.java

private int id;
//Getters+Setters

参数.java

private int id;
private String type;
//Getters+Setters

测试.java

 List result = dao.getServiceParam();
HashMap<Service,List<Parameter>> mapList = new HashMap<Service, List<Parameter>>();   
if(!result.isEmpty()) {             
for (int i=0; i< result.size(); i++) {
    Object[] line = (Object[])result.get(i);        
    if ((BigDecimal) line[0]!=null) {

    }
    }
    }      
if ((BigDecimal) line[0]!=null && line.length>2) {

    Service serv = new Service((Integer) line[0]);
    Parameter param = new Parameter((Integer)line[1],(String) line[2]);
    List<Parameter> paramList=mapList.get(serv);
    if (paramList==null){
        paramList = new LinkedList<Parameter>();
    }

    paramList.add(param);

    mapList.put(serv, paramList);
}

你可以用上面的代码替换你的空 if 。 我相信这应该符合您的目的。 但是要运行上面的代码,您应该满足以下条件。

  1. 您的参数和服务 class 应该有一个构造函数。
  2. 您应该已经根据服务 class 的 id 属性覆盖了 hashcode 和 equals 方法
  3. 如果您希望 null 出现在任何字段中。 请处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM