如何转换ArrayList转换成String?

时间:2013-08-28 18:48:33

标签: string arraylist

在java中编译ArrayList后,如何将其作为字符串打印? 使用ArrayList.toString()会给出带括号的值以及它们之间的逗号。

我想打印它们没有括号,只有它们之间的空格。

5 个答案:

答案 0 :(得分:1)

(假设Java)

您可以编写自己的方法来执行此操作:

public static <T> String listToString(List<T> list) {
    StringBuilder sb = new StringBuilder();

    boolean b = false;
    for (T o : list) {
        if (b)
            sb.append(' ');

        sb.append(o);
        b = true;
    }

    return sb.toString();
}

或者,如果您使用的是番石榴,则可以使用Joiner

Joiner.on(' ').join(list)

同样,如果你只是对打印感兴趣,你可以避免一起创建一个新的字符串:

public static <T> void printList(List<T> list) {
    for (T o : list) {
        System.out.print(o);
        System.out.print(' ');
    }
    System.out.println();
}

答案 1 :(得分:1)

如果您使用的是Eclipse Collections,则可以使用makeString()方法。

ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");

Assert.assertEquals(
    "one two three",
    ArrayListAdapter.adapt(list).makeString(" "));

如果您可以将ArrayList转换为FastList,则可以摆脱适配器。

Assert.assertEquals(
    "one two three",
    FastList.newListWith("one", "two", "three").makeString(" "));

注意:我是Eclipse集合的提交者。

答案 2 :(得分:0)

表示c#

string.Join(" ", _list);

答案 3 :(得分:0)

不确定您使用的是哪种语言,但请尝试:

ArrayList.join() 

ArrayList.toArray().join()

答案 4 :(得分:0)

for(int i = 0; i < arraylist.size(); i++){
    System.out.print(arraylist.get(i).toString + " ");
}

???