【问题标题】:Display each list element in a separate line (console)在单独的行中显示每个列表元素(控制台)
【发布时间】:2012-10-04 23:14:39
【问题描述】:

在这部分代码中:

    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

c

d

或者,至少:

一个,

b,

c,

d

【问题讨论】:

    标签: java arraylist console newline


    【解决方案1】:

    遍历元素,分别打印每个元素。

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

    另外,Java 8 语法提供了一个很好的简写方式来使用方法引用来做同样的事情

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

    或一个 lambda

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

    【讨论】:

    • 实际上,我必须输入 aprovados 而不是列表,所以: for (String element : [ARRAY NAME HERE]) { System.out.println(element); }
    【解决方案2】:

    如果想在同一行显示每个元素,不带括号:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 2020-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多