2012-10-15 11 views
5

In diesem Teil des Codes:Anzeige jedes Listenelement in einer separaten Zeile (Konsole)

System.out.println("Alunos aprovados:"); 
    String[] aprovados = {"d", "a", "c", "b"}; 
    List<String> list = new ArrayList(); 
    for (int i = 0; i < aprovados.length; i++) { 
     if (aprovados[i] != null) { 
      list.add(aprovados[i]); 
     } 
    } 

    aprovados = list.toArray(new String[list.size()]); 
    Arrays.sort(aprovados); 
    System.out.println(Arrays.asList(aprovados)); 

Ein Beispiel Ergebnis System.out.printin ist:

[a, b, c, d ]

Wie kann ich den obigen Code ändern, wenn ich ein Ergebnis wie unten möchte?

a

b

c

d

Oder zumindest:

a,

b,

c,

d

Antwort

17

Iterieren durch die Elemente, die jeweils einen Druck einzeln.

for (String element : list) { 
    System.out.println(element); 
} 

Alternativ Java 8 Syntax bietet eine schöne Stenografie die gleiche Sache mit einer Methode Referenz

list.forEach(System.out::println); 

oder ein Lambda

list.forEach(t -> System.out.println(t)); 
+0

Danke! Das hat funktioniert :) – rsb2097

+0

Eigentlich musste ich aprovados statt Liste eingeben, also: für (String-Element: [HAUPTNAME HIER]) { System.out.println (Element); } – rsb2097

1

zu tun, wenn man jedes Element anzeigen will in die gleiche Zeile, ohne diese Klammern:

public static void main(String[] args) { 
    Set<String> stringSet = new LinkedHashSet<>(); 
    stringSet.add("1"); 
    stringSet.add("2"); 
    stringSet.add("3"); 
    stringSet.add("4"); 
    stringSet.add("5"); 
    int i = 0; 
    for (String value : stringSet) { 
     if (i < stringSet.size()-1) { 
      System.out.print(value + ","); 
     } else { 
      System.out.print(value); 
     } 
     i++; 
    } 
} 
Verwandte Themen