2012-10-15 3 views
5

In questa parte del codice:visualizzazione ciascun elemento dell'elenco in linea (console) separato

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

Un risultato esempio di System.out.println è:

[a, b, c, d ]

Come posso modificare il codice sopra se voglio un risultato come di seguito?

un

b

c

d

O, almeno:

una,

b,

c,

d

risposta

17

iterazioni sugli elementi, stampare singolarmente.

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

In alternativa, Java 8 sintassi offre una bella scorciatoia per fare la stessa cosa con un metodo di riferimento

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

o un lambda

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

Grazie! Ciò ha funzionato :) – rsb2097

+0

In realtà, ho dovuto digitare aprovados anziché elenco, quindi: per (Elemento stringa: [ARRAY NOME HERE]) { System.out.println (elemento); } – rsb2097

1

Se si vuole visualizzare ogni elemento in la stessa riga, senza parentesi:

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