我正在阅读一些关于迭代器、枚举等的信息。所以我测试了一些代码来检查所有内容。
第一个例子:
List<String> list = new ArrayList<>();
list.add("5");
list.add("1");
list.add("2");
list.add("3");
Iterator<String> iterator = list.iterator();
list.remove("1");
iterator.forEachRemaining(System.out::println);
Run Code Online (Sandbox Code Playgroud)
此代码生成正确和预期的输出:
Exception in thread "main" java.util.ConcurrentModificationException
Run Code Online (Sandbox Code Playgroud)
但是当我测试相同的代码时,只有 1 个更改 list.iterator()->list.stream().iterator()
List<String> list = new ArrayList<>();
list.add("5");
list.add("1");
list.add("2");
list.add("3");
Iterator<String> iterator = list.stream().iterator();
list.remove("1");
iterator.forEachRemaining(System.out::println);
Run Code Online (Sandbox Code Playgroud)
结果是:
5
2
3
Run Code Online (Sandbox Code Playgroud)
我的主要目的是了解:
stream()方法?stream().iterator什么?