Java разделить запятую из списка и отображать в одной строке

Я положил ключ, значение в карте как,

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 ответа

У вас есть два варианта:

  1. Вы можете создать цикл, который проходит через все элементы и добавляет '|' между.
  2. Вы можете переопределить метод List ToString().
     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(),'|'));

      }
Другие вопросы по тегам