0

如何将多个值添加到多哈希图中,因为它不是通用的。请参阅下面的代码。

请看它预期的输出:Col1,col2,col3,col4 显示值的顺序与 col5 顺序不匹配。您能否建议我处理 multihashmap 中的所有值。

Iterator<Search> iterator = pre.iterator();
    MultiHashMap mhm = new MultiHashMap();
    StringBuilder sb = new StringBuilder();
    List list = null;
    while(iterator.hasNext())       {
        Search prer = (Search)iterator.next();
        String product = prer.getProduct();
        sb.append(prer.getreqsNbr());
        sb.append(" ");
        sb.append(prer.getOp()));
        sb.append(" ");
        dependencies.put(product, sb.toString());
        sb.setLength(0);

        ***//This is for col1,col2,col3,col4***

        prer.getProductNbr()));
        prer.getProdDescr()));
        prer.getreqsNbr()));
        prer.getreqdescr()));
        }

    ***//This loop for get values as col5***

    Set set = mhm.entrySet();  
    Iterator i = set.iterator(); 
    while(i.hasNext()) { 
        Map.Entry me = (Map.Entry)i.next(); 
        list=(List)mhm.get(me.getKey()); 
        int itemCount = list.size();
        for (int z = 0; z < itemCount; z++) {
            String values = "";
            for(int j=0;j<list.size();j++)  { 
                values += list.get(j);      }
            System.out.println(me.getKey() + ": value :" + values); 
         }

以上程序输出:

c1   c2    c3  c4 c5
120  xxxx  12 xxx 14
120  xxxx  13 xxx 14
120  xxxx  14 xxx 14
130  xxxx  14 xxx 12 13 14

预期输出:

Col1  col2   col3  col4    col5
120   xxxx    12   xxxx    12 13 14
120   xxxx    13   xxxx    12 13 14     
120   xxxx    14   xxxx    12 13 14
130   xxxx    14   xxxx    14 

下面的代码集按预期工作(这适用于 col5)。

Set set = mhm.entrySet();  
    Iterator i = set.iterator(); 
    while(i.hasNext()) { 
        Map.Entry me = (Map.Entry)i.next(); 
        list=(List)mhm.get(me.getKey()); 
        int itemCount = list.size();
        for (int z = 0; z < itemCount; z++) {
            String values = "";
            for(int j=0;j<list.size();j++)  { 
                values += list.get(j);      }
            System.out.println(me.getKey() + ": value :" + values); 
         }

这部分需要推送多哈希映射并在显示时相互关联(这是针对 col1,col2,col3,col4.

prer.getProductNbr()));
prer.getProdDescr()));
prer.getreqsNbr()));
prer.getreqdescr()));
4

1 回答 1

1

此代码将多次打印值

    int itemCount = list.size();
    for (int z = 0; z < itemCount; z++) {
        String values = "";
        for(int j=0;j<list.size();j++)  { 
            values += list.get(j);
        }
        System.out.println(me.getKey() + ": value :" + values); 
     }

你可能想要这样的东西:

String values = "";
for(int j=0;j<list.size();j++)  { 
  values += list.get(j) + " ";
}
System.out.println(me.getKey() + ": value :" + values); 
于 2013-06-04T22:39:40.633 回答