ジェネリックではないため、複数の値をマルチハッシュマップに追加する方法。以下のコードを参照してください。
予想される出力を見てください:Col1、col2、col3、col4の表示値の順序がcol5の順序と一致しません。マルチハッシュマップ内のすべての値を処理するようにアドバイスしてください。
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()));