首页 > 解决方案 > 删除 CSV 文件中的行

问题描述

我创建了一个ArrayList名为entryList. 我尝试创建的方法是,如果您编写removeAllByDate()并输入日期,则应删除包含该日期的整行。entryList依次由条目(行)组成,我还创建了方法 getDate()。我想写这样的东西:

public void removeAllByDate(String datum) {
    for(Entry entry: entryList) {
        if (entry.getDate().contains(datum)) {
            entryList.remove(entry);
        }
    }
}

有谁知道为什么这不起作用?

标签: javafilecsvarraylistrows

解决方案


从 Java 8 开始,有条件地从 a 中删除元素时使用的方法CollectionremoveIf(). 您的代码将如下所示:

entryList.removeIf(entry -> entry.getDate().contains(datum));

原始代码不起作用,因为在迭代集合时不允许删除元素,请参阅此问题和答案


推荐阅读