-1

在java中编译一个ArrayList后,如何将它打印为字符串?UsingArrayList.toString()给出的值带有括号,它们之间有逗号。

我想打印它们而不用括号,它们之间只有空格。

4

5 回答 5

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();
}

或者,如果您使用 Guava,您可以使用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();
}
于 2013-08-28T18:52:37.183 回答
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为 a FastList,则可以摆脱适配器。

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

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

于 2013-08-29T10:32:01.933 回答
0

for c#

string.Join(" ", _list);
于 2013-08-28T18:51:06.843 回答
0

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

ArrayList.join() 

或者

ArrayList.toArray().join()
于 2013-08-28T18:53:16.833 回答
0
for(int i = 0; i < arraylist.size(); i++){
    System.out.print(arraylist.get(i).toString + " ");
}

???

于 2013-08-28T18:53:49.110 回答