我正在使用 java 8
我有一個模型類
class Student{
String name;
List<Subject> subjects1;
List<Subject> subjects2;
List<Subject> subjects3;
// getters & setters
}
class Subject{
String sub;
Integer marks;
boolean status;
// getters & setters
}
status可能是真的,也可能是假的。
現在,如果狀態為 false,那么我必須從主題串列中洗掉這些物件
如何在 Streams 中執行此操作?
提前致謝。
uj5u.com熱心網友回復:
要洗掉物件,您可以直接使用 java 8 中的 removeIf 方法。
student.getSubjects().removeIf(subject -> !subject.isStatus());
uj5u.com熱心網友回復:
這是你如何做到的:
List<Student> studentsWithTrueStatus = students
.stream()
.filter( s -> s.status )
.collect(Collectors.toList());
uj5u.com熱心網友回復:
首先確保主題串列不為空或為空。然后利用removeIf()方法。
List<Subject> subjectList = student.getSubjects();
if((null != subjectList) && (subjectList.size() > 0)) {
subjectList.removeIf(sub -> !(sub.isStatus()));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346352.html
