有没有办法修改不可修改的集合?

时间:2016-06-14 18:49:58

标签: javafx

我想从我从FileChooser获得的不可修改列表中删除元素。但是为了尝试这样做,它会抛出UnsupportedOperationException。任何人都可以建议我删除/删除列表中的内容吗?

4 个答案:

答案 0 :(得分:1)

您可以创建新列表

List<*T*> list = new ArrayList<>(unmodiableList);

答案 1 :(得分:0)

查看FXCollections静态类。一些有用的方法是:

由于您无法修改列表(从名称中可以明显看出),您可以获取列表的副本并根据需要进行修改

答案 2 :(得分:0)

我找到了一个解决方案。虽然这可能不是正确的方法,但它确实有效。我做的是;我使用增强的for循环将不可修改列表的内容复制到ArrayList中。然后在ArrayList上应用remove方法。但是如果你有一个更好的解决方案,请发布。

答案 3 :(得分:0)

我认为最好的解决方案是流。使用您的List通过.stream()创建流,然后在流上使用.filter(...)删除元素。