2016-05-04 19 views
-2

私はArrayListを持っていて、commaで区切られた文字列として完全に出力したいです。コンマで区切られた文字列への配列リスト

私のコードは

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

ですが、出力はone,two,three,であると私はreplace methodを使用せずにone,two,threeをしたいです。私が使用しています

JAVA

+2

' listString + =(? " "" listString.isEmpty()")を試してみてください。直接連結ではなく、 'StringBuilder'を使うべきです。 –

+1

@AndyTurner StringBuilderを同じように使用する方法は? – user3441151

+0

Stringクラスにはjoinというメソッドがあります。そのため、要素を結合するためにコレクションを反復処理する必要はありません。 [Here](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.Iterable-)はdocです –

答えて

0

Javaでは使用でき8+ StringJoiner(そして、あなたのListを初期化するためにArrays.asList(T...)を使用することができます)。 (要求された通り)のような、

List<String> list = Arrays.asList("one", "two", "three"); 
StringJoiner sj = new StringJoiner(","); 
for (String s : list) { 
    sj.add(s); 
} 
System.out.println(sj.toString()); 

出力がある何か

one,two,three 
0
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)); 
    } 
} 

出力:

one,two,three

http://ideone.com/PkAOOq

0

だけString.substringを使用しています。ここに行く:

listString = listString.substring(0, listString.length() - 1); 
0

あなたがリストの代わりに、このためにjava.util.StringJoinerを使用することができます。

StringJoiner joiner = new StringJoiner(","); 
    joiner.add("one"); 
    joiner.add("two"), 
    joiner.add("three"); 

    String listString = joiner.toString(); 

あなたが、その後のStringBuilderを使用して検討し、Java8を使用していない場合。そして、最終的な文字列が指定できます

System.out.println(listString.substring(0, listString.length() - 1)); 
4

のJava 8の使用:

List<String> list = Arrays.asList(array); 
String joinedString = String.join(",", list); 
0

を事前にJavaの8ソリューションの場合、デフォルトtoString()はあなたに[one, two, three]を与えるからです。 + S; `:

String s = list.toString(); 
s = s.substring(1, s.length()-1); 
0

list.toString().replace("[", "").replace("]", ""); 
関連する問題