Java RemoveIf生成异常,为什么?

Java RemoveIf生成异常,为什么?,java,lambda,predicate,Java,Lambda,Predicate,我尝试使用lambda表达式从列表中删除一个项目,但如果删除会生成异常,为什么 在这段Orlacle视频中,jdk8 8 MOOC使用列表而不是arraylist介绍removeif。是这样吗 publicstaticvoidmain(字符串[]args){ List parole=Arrays.asList(“Lambda”、“表达式”、“are”、“cool”); 谓词findAre=s->“are”.equals; 假释.撤职(芬代尔); 假释(系统输出::println); } 数组。

我尝试使用lambda表达式从列表中删除一个项目,但如果删除会生成异常,为什么

在这段Orlacle视频中,jdk8 8 MOOC使用列表而不是arraylist介绍removeif。是这样吗

publicstaticvoidmain(字符串[]args){
List parole=Arrays.asList(“Lambda”、“表达式”、“are”、“cool”);
谓词findAre=s->“are”.equals;
假释.撤职(芬代尔);
假释(系统输出::println);
}

数组。asList
生成一个由数组支持的固定大小的列表,因此不能添加或删除其中的元素

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

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

数组。asList
生成一个由数组支持的固定大小的列表,因此您不能在其中添加或删除元素

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

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

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

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

请将此作为一个文本发布,并将异常作为文本包含。这里提供屏幕截图没有任何好处,这意味着异常类型没有索引…
数组。asList
只包装提供的数组。无法更改数组的长度。请将此作为一个字符串发布,并将异常作为文本包含。这里提供屏幕截图没有任何好处,这意味着异常类型没有索引…
数组。asList
只包装提供的数组。无法更改数组的长度。