首页 > 解决方案 > 如何从数组列表中搜索和删除对象?

问题描述

这是我之前帖子的后续问题:

如何分隔二维数组中的不同值

我现在需要根据条件(例如名称和年龄)从数组中删除特定对象,然后将结果保存在文件中。我已经阅读了一些使用迭代器的示例,但没有很好地遵循。

txt文件中的原始数据:

G Steve 23 Biology 
U Julia 19 Music Flute Sophomore 
G David 25 Math

下面是我在从 txt 文件中读取数据时创建数组列表的方法

ArrayList<Student> studentList = new ArrayList<>();
Student s = new Undergraduate(type,name,age,major,year);
studentList.add(s);
Student s = new Graduate(type,name,age, major);
studentList.add(s);

for (Student d:studentList) {
    System.out.println(d.toString());
}

提前致谢!

标签: javaarraylistmultidimensional-array

解决方案


要从列表中删除对象,您可以使用removeIf条件,下面的示例删除任何年龄超过 22 岁的“G”类型的学生

studentList.removeIf(s -> s.age > 22 && s.type.equals("G"));

推荐阅读