List studentList = new ArrayList();
List moduleList = new ArrayList();
Как я могу перебирать modulList по StudentList, чтобы вы могли видеть, какой студент сдал какой модуль?

class Student {
private String studentId;
private String name;
private Type gender;
private String studClass;
private String education;
private HashMap faillOrPass;
public Student()
{
faillOrPass = new HashMap();
}
public Student (String studentId, String name, Type gender, String studClass, String education)
{
faillOrPass = new HashMap();
setStudentId(studentId);
setName(name);
setGender(gender);
setStudClass(studClass);
setEducation(education);
}
public enum Type { MALE, FAML}
// getters and setters
// equals() and hashCode()
// toString()
}
class Module {
String modulecode;
int grade;
int year;
public Module(String code, int year) {
setModule(code);
setYear(year);
setGrade(-1);
}
// getters and setters
// equals and hashCode
// toString
}
public class TestClass {
final static Student st = new Student();
static String ZAYNUL = st.setVolledigeNaam("Zaynul Zaini");
static String PIPO = st.setVolledigeNaam("Pipo");
static String SANNY = st.setVolledigeNaam("Sanny Saniwich");
static String JOHAN = st.setVolledigeNaam("Johan Ginger");
static String DURSAH = st.setVolledigeNaam("Dursah Pikobillo");
static String ROMAN = st.setVolledigeNaam("Roman Romanawich");
static String TOM = st.setVolledigeNaam("Johonson");
static String ANDRE = st.setVolledigeNaam("Andersons");
public static List getModuleList() {
return List.of(
new Vak(ZAYNUL, "IT", 8, 2020),
new Vak(SANNY, "IT", 10, 2019),
new Vak(ROMAN, "IT", 9, 2018),
new Vak(MALIKA, "IT", 8, 2017),
new Vak(DURSAH,"IT", 10, 2016),
new Vak(PIPO,"IT", 10, 2020),
new Vak(PIPO,"IPC", 5, 2020),
new Vak(ZAYNUL,"IPC", 6, 2019),
new Vak(SANNY,"IPC", 4, 2018),
new Vak(ROMAN,"IPC", 1, 2017),
new Vak(MALIKA,"IPC", 5, 2016),
new Vak(DURSAH,"IPC", 4, 2020));
}
public static List getStudentList() {
List listVak = new ArrayList();
listVak.add(new Student("011", ZAYNUL, Student.Type.MALE, "first year", "Architecture"));
listVak.add(new Student("012", MALIKA, Student.Type.FEMALE, "second year", "economics"));
listVak.add(new Student("013", SANNY, Student.Type.FEMALE, "third year", "IT"));
listVak.add(new Student("014", ROMAN, Student.Type.MALE, "fourth year", "Astronomy"));
listVak.add(new Student("015", TOM, Student.Type.MALE, "second year", "economics"));
listVak.add(new Student("016", ANDRE, Student.Type.FEMALE, "third year", "IT"));
listVak.add(new Student("017", JOHAN, Student.Type.MALE, "fourth year", "Astronomy"));
return listVak;
}
public static void getPassedAndFaillModule(List listSt, List listVak) {
List filteredList = listSt.stream()
.filter(student -> listVak.stream()
.filter(md -> md.getCijfer() > 5)
.anyMatch(mdo -> mdo.getStudentName() !=null
&& student.getVolledigeNaam().equals(mdo.getStudentName())))
.collect(Collectors.toList());
filteredList.forEach(x -> System.out.println(x));
}
public static void main(String[] args) {
System.out.println("Print the result: ");
getPassedAndFaillModule(getStudentList(), getModuleList());
}
}
Это результат, который я получаю, но он не очень хорош:
Print the result:
StudentImpl{studentnummer='011', volledigeNaam='Zaynul Zaini', type='MALE', klaas='first year', studierichting='Architecture', vakkenLijst={}}
StudentImpl{studentnummer='012', volledigeNaam='Malika Ginger', type='FEMALE', klaas='second year', studierichting='economics', vakkenLijst={}}
StudentImpl{studentnummer='013', volledigeNaam='Sanny Saniwich', type='FEMALE', klaas='third year', studierichting='IT', vakkenLijst={}}
StudentImpl{studentnummer='014', volledigeNaam='Roman Romanawich', type='MALE', klaas='fourth year', studierichting='Astronomy', vakkenLijst={}}
Подробнее здесь: https://stackoverflow.com/questions/656 ... pi-in-java