2016-05-04 9 views
-2

Ich habe eine ArrayList und ich möchte komplett als String mit getrennt durch comma ausgeben.ArrayList zu String mit getrennt durch Komma

Mein Code ist

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

Aber der Ausgang ist one,two,three, und ich will one,two,three ohne replace method zu verwenden.

Ich bin mit JAVA

+2

'listString + = (listString.isEmpty() "": ""?) + S;'. Beachten Sie, dass Sie einen 'StringBuilder' anstelle einer direkten Verkettung verwenden sollten. –

+1

@AndyTurner wie StringBuilder für das gleiche zu verwenden? – user3441151

+0

String-Klasse hat eine Methode namens Join, so dass Sie nicht durch die Sammlung iterieren müssen, um die Elemente zu verbinden. [Hier] (https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.Iterable-) ist das Dokument –

Antwort

0

In Java 8+ Sie könnte ein verwenden StringJoiner (und Sie können Arrays.asList(T...) verwenden Ihre List zu initialisieren). So etwas wie,

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

Ausgang ist (wie gewünscht)

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

Ausgang:

one,two,three

http://ideone.com/PkAOOq

0

Nur String.substring verwenden. Hier gehen Sie:

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

Sie verwenden java.util.StringJoiner dafür, statt einer List:

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

    String listString = joiner.toString(); 

Wenn Sie nicht Java8 verwenden, dann betrachten Stringbuilder verwenden. Dann können Sie Ihre endgültige Zeichenfolge sein:

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

mit Java 8:

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

Für eine Pre Java 8 Lösung, da die Standard-toString() Sie [one, two, three] gibt.

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

versuchen

list.toString().replace("[", "").replace("]", ""); 
Verwandte Themen