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)

我不确定如何从列表中删除逗号并在单行的单独列中显示列表值,如上?

4

2 回答 2

3

你有两个选择:

  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 回答