java单独的逗号从列表中显示并以单行显示

时间:2012-08-20 19:44:06

标签: java list comma

我已将地图中的键值设为

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)

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

2 个答案:

答案 0 :(得分:3)

您有两种选择:

  1. 您可以创建一个遍历所有元素的循环并附加一个“|”介于两者之间。
  2. 您可以覆盖List ToString()方法。

答案 1 :(得分: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(),'|'));

      }