在java中编译ArrayList后,如何将其作为字符串打印?
使用ArrayList.toString()
会给出带括号的值以及它们之间的逗号。
我想打印它们没有括号,只有它们之间的空格。
答案 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 + " ");
}
???