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