开发者社区> 问答> 正文

Java循环表达式以打印列表

是否还有其他Java程序员必须能够读取的循环表达式吗?

final List names = Arrays.asList("Alice", "Bob", "Carol", "Dave", "Eve");

System.out.println("Pattern 1:"); for (int i = 0; i < names.size(); i++) { System.out.println(names.get(i)); }

System.out.println("Pattern 2:"); Iterator iterator = names.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); }

System.out.println("Pattern 3:"); for (String name : names) { System.out.println(name); }

System.out.println("Pattern 4:"); names.forEach(new Consumer () { @Override public void accept(String name) { System.out.println(name); } });

System.out.println("Pattern 5:"); names.forEach((String name) -> {System.out.println(name);});

System.out.println("Pattern 6:"); names.forEach((String name) -> System.out.println(name));

System.out.println("Pattern 7:"); names.forEach(name -> System.out.println(name));

System.out.println("Pattern 8:"); names.forEach(System.out::println);

System.out.println("Pattern 9:"); names.stream().forEach(System.out::println);

展开
收起
小六码奴 2019-10-09 19:54:02 722 0
1 条回答
写回答
取消 提交回答
  • names.stream () .forEachOrdered (system . out:: println); 应该使用forEachOrdered而不是forEach,因为forEach的行为是不确定的,但是forEachOrdered按照流中定义的顺序执行操作,前提是您已经在流中定义了顺序 还有,你有parallelStream,它可以不考虑顺序打印列表, names.parallelStream () .forEach (system . out:: println); 或者,您也可以这样做,在打印列表后删除第一个元素,您也可以使用iterator对迭代器执行相同的操作。以前的方法。 while(!names.empty()){ SOP(names.get(0)); names = names.subList(1,names.size()); }

    2019-10-09 20:01:16
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载