1

キー、値をマップに入れました。

map.put(id,list);

id = 5 および

このリストには、

       A 
 OR    A,B, 
 OR    A,B,C 
 OR    sometimes no values. 

私はマップを繰り返し処理しています。

     Iterator itr=map.entrySet().iterator();
     while(itr.hasNext()){
        Map.Entry me=(Map.Entry)itr.next();
        int key =(Integer)me.getKey();
        List li = (List)me.getValue();
        System.out.println(key,li);
      }

一行のようにsystem.out.printlnしたいのですが、

5 | A |         (if list contain A)
5 | A | B |     (if list contain A,B)
5 | A | B | C | (if list contain A,B,C)
5               (only 5 if there are no values as A B C)

上記のように、リストからコンマを削除して、リストの値を個別の列に 1 行で表示する方法がわかりません。

4

2 に答える 2

3

次の 2 つのオプションがあります。

  1. すべての要素を通過し、「|」を追加するループを作成できます。間に。
  2. List ToString() メソッドをオーバーライドできます。
于 2012-08-20T19:50:46.607 に答える
1
     Iterator itr=map.entrySet().iterator();
     while(itr.hasNext()){
        Map.Entry me=(Map.Entry)itr.next();
        int key =(Integer)me.getKey();
        List myList = (List)me.getValue();
        System.out.println(key+"|"+StringUtils.join(myList.toArray(),'|'));

      }
于 2012-08-20T19:59:57.813 に答える