java - 如何从数组列表中搜索和删除对象?
问题描述
这是我之前帖子的后续问题:
我现在需要根据条件(例如名称和年龄)从数组中删除特定对象,然后将结果保存在文件中。我已经阅读了一些使用迭代器的示例,但没有很好地遵循。
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());
}
提前致谢!
解决方案
要从列表中删除对象,您可以使用removeIf
条件,下面的示例删除任何年龄超过 22 岁的“G”类型的学生
studentList.removeIf(s -> s.age > 22 && s.type.equals("G"));
推荐阅读
- ios - 如何摆脱 iOS 15 中出现的表格视图中每个部分上方的额外填充?
- python - Pytorch - 张量的元素 0 不需要 grad 并且没有 grad_fn - 将矩阵相加和相乘作为 NN 步骤参数
- matlab - 移动平均模块为列向量输入返回错误值
- python - value_counts() 基于两列?
- skspritenode - SkSpriteNode 相互堆叠
- spring-boot - Hibernate Elasticsearch 高亮问题
- javascript - 在铯中捕获缩小事件
- python - 使用python根据XML中的另一个子元素修改子元素
- android - 在android中硬编码内部存储路径是否安全?
- python - 重新训练现有的 NER trf 模型