我想从学校班级中撤出一名学生。以下方法是不是删除值?想法请:
public static void withdrawStudent(String student) {
enrollments.values().remove(student);
}
public static void main(String[] args) {
enroll("101", "Pat");
withdrawStudent("Pat");
}
//这是课程的一部分。
private static HashMap<String, Set<String>> enrollments = new HashMap<String, Set<String>>();
public static void enroll(String unit, String student) {
Set<String> studentsSet = enrollments.get(unit);
if(studentsSet == null) {
studentsSet = new HashSet<>();
}
studentsSet.add(student);
enrollments.put(unit, studentsSet);
}
答案 0 :(得分:0)
您的问题是您正在尝试删除字符串,而enrollments.values()
返回一组字符串。可能的解决方法是这样做,但请记住,这会将学生从每次注册中删除。
public static void withdrawStudent(String student) {
for (Set<String> studentSet : enrollments.values()) {
studentSet.remove(student);
}
}