2012-10-15 29 views
5

在这部分代码:显示在单独的线(控制台)各列表元素

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

的System.out.println的一个例子的结果是:

[A,B,C,d ]

如果我想要下面的结果,我该如何修改上面的代码?

一个

b

Ç

d

或者,至少:

一个,

B,

c,

d

回答

17

遍历元素,单独打印每个元素。

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

另外,爪哇8语法提供了一个很好的速记做同样的事情用一个方法参考

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

或拉姆达

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

谢谢!这工作:) – rsb2097

+0

其实,我不得不输入aprovados而不是列表,所以: for(String element:[ARRAY NAME HERE]){ System.out.println(element); } – rsb2097

1

如果一个人想在显示每个元素同一行,没有那些括号:

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