如何将多个值添加到multihashmap中,因为它不是genric。请参阅下面的代码。
请查看预期的输出: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
以下setof代码按预期工作(对于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()));
答案 0 :(得分: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);