Java ArrayList到以逗号分隔的字符串
我有一个Java ArrayList到以逗号分隔的字符串,java,Java,我有一个ArrayList,我想完全以字符串形式输出,以逗号分隔 我的代码是 ArrayList<String> list = new ArrayList<String>(); list.add("one"); list.add("two"); list.add("three"); String listString = ""; for (String s : list) { listString += s + ","; } System.out.print
ArrayList
,我想完全以字符串形式输出,以逗号分隔
我的代码是
ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
String listString = "";
for (String s : list)
{
listString += s + ",";
}
System.out.println(listString);
ArrayList list=new ArrayList();
列表。添加(“一”);
列表。添加(“两个”);
列表。添加(“三”);
字符串listString=“”;
用于(字符串s:列表)
{
listString+=s+“,”;
}
System.out.println(listString);
但是输出是one,two,three,
,我希望one,two,three
不使用replace方法
我正在使用JAVA
import JAVA.util.*;
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
ArrayList<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
String listString = "";
for (int i=0;i<list.size()-1;i++)
listString += list.get(i) + ",";
System.out.println(listString+list.get(list.size()-1));
}
}
导入java.lang.*;
导入java.io.*;
/*只有当类是公共的时,类的名称才必须是“Main”*/
表意文字
{
公共静态void main(字符串[]args)引发java.lang.Exception
{
ArrayList=新建ArrayList();
列表。添加(“一”);
列表。添加(“两个”);
列表。添加(“三”);
字符串listString=“”;
对于(inti=0;i在Java8+中,您可以使用(并且您可以使用来初始化列表)
List<String> list = Arrays.asList("one", "two", "three");
StringJoiner sj = new StringJoiner(",");
for (String s : list) {
sj.add(s);
}
System.out.println(sj.toString());
只需使用String.substring
listString = listString.substring(0, listString.length() - 1);
您可以使用java.util.StringJoiner,而不是列表:
StringJoiner joiner = new StringJoiner(",");
joiner.add("one");
joiner.add("two"),
joiner.add("three");
String listString = joiner.toString();
如果你不使用Java8,那么考虑使用String Bu建器。那么你最后的字符串可以是:
System.out.println(listString.substring(0, listString.length() - 1));
使用Java 8:
List<String> list = Arrays.asList(array);
String joinedString = String.join(",", list);
List List=Arrays.asList(array);
String joinedString=String.join(“,”列表);
对于Java 8之前的解决方案,因为默认的toString()
提供了[1,2,3]
String s = list.toString();
s = s.substring(1, s.length()-1);
试一试
listString+=(listString.isEmpty()?:“,”)+s;
。请注意,您应该使用StringBuilder
,而不是直接连接。@AndyTurner如何对同一个字符串使用StringBuilder?String类有一个名为join的方法,这样您就不必在集合中迭代来连接元素。文档
String s = list.toString();
s = s.substring(1, s.length()-1);
list.toString().replace("[", "").replace("]", "");