RemoveIf生成异常,为什么?

时间:2017-04-20 08:18:34

标签: java lambda predicate

我尝试使用lambda表达式从列表中删除项目但是removeIf生成异常,为什么?

在这个Orlacle视频中,jdk8 8 MOOC引入了带列表的removeif而不是arraylist。这样对吗 ? https://youtu.be/olKF7VpJMfg?list=PLMod1hYiIvSZL1xclvHcsV2dMiminf19x&t=137

T = ϴ(n^4)

Here pict with code and Exception in thread "main"

2 个答案:

答案 0 :(得分:7)

Arrays.asList生成一个由数组支持的固定大小的列表,因此您无法从中添加或删除元素。

您可以创建ArrayList以支持删除:

List<String> parole = new ArrayList<>(Arrays.asList("Lambda ", "expressions ", "are ", "cool "));

答案 1 :(得分:0)

还有一个建议,请在列表迭代期间使用迭代器从arraylist而不是每个循环中删除对象,因为您将获得并发修改异常。