list 和set
//获取所有班级List<Grade> allGrades = gradeService.getAll();Exam exam = examService.getWithGrades(examId);//获取拥有的班级Set<Grade> rightGrades = exam.getGrades();//从所有班级中删除拥有的班级allGrades.removeAll(rightGrades);
要达到效果,必须重写Grade对象的equals方法和hashcode方法.
@Overridepublic boolean equals(Object obj) {Grade grade = (Grade) obj;Long objId = grade.getId();if (objId != null && id != null) {if (objId.equals(id)) {return true;}}return super.equals(obj);}@Overridepublic int hashCode() {if (id != null) {return id.intValue();}return super.hashCode();}