如何将List转换为String而不用逗号和括号

时间:2015-02-17 06:34:35

标签: java arraylist printing

假设已经创建了数组列表,其中包含元素a,b和c。 但我只想打印没有括号和逗号的元素。 这会有用吗?

for(int i=0;i<list.size();i++){
String word = list.get(i);
String result = word + " ";
}
System.out.print(result);

3 个答案:

答案 0 :(得分:4)

你可以使用像

这样的replaceAll方法轻松完成
 String result = myList.toString().replaceAll("[\\[\\]]", "").replaceAll(",", " ");

尝试以下程序。希望它符合您的需求。

List<String> myList = new ArrayList<String>();
        myList.add("a");
        myList.add("b");
        myList.add("c");
        String result = myList.toString().replaceAll("[\\[\\]]", "").replaceAll(",", " ");
        System.out.println(result);

答案 1 :(得分:0)

不,它不会起作用。

  • 结果需要在循环之外
  • 你需要追加结果,而不是每次都覆盖它

固定。

List<String> list = Arrays.asList("horse", "apples");

String result = "";   //<== needs to be outside the loop
for (int i = 0; i < list.size(); i++) {
    String word = list.get(i);   
    result = result + word + " ";  // <== need to append 
}
System.out.print(result);

要记住的其他事情

  • 在这种情况下,增强的for循环更容易使用
  • StringBuilder更适合大量列表
  • Java 8 String.join()可以在没有尾随空格的一行中执行此操作
  • 您不需要单词的中间变量

例如

for (String item : list) {
    result += item + " ";
}

或者只使用String.join

String.join(" ", list);

答案 2 :(得分:0)

result = word.toString().replace("[", "").replace("]", "").replace(",", " ")