gpt4 book ai didi

java - 从 HashSet 中删除连接到键的值?

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:20 26 4
gpt4 key购买 nike

我想从学校类(class)中撤回一名学生。下面的方法不是去掉值吗?请提出想法:

public static void withdrawStudent(String student) {
enrollments.values().remove(student);

}

public static void main(String[] args) {
enroll("101", "Pat");
withdrawStudent("Pat");
}

//这是类(class)的一部分。

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);
}

最佳答案

您的问题是您试图删除一个字符串,而 enrollments.values() 返回一组字符串。一个可能的解决方法是这样,但请记住,这会将学生从每次注册中删除。

public static void withdrawStudent(String student) {
for (Set<String> studentSet : enrollments.values()) {
studentSet.remove(student);

}
}

关于java - 从 HashSet 中删除连接到键的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49550316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com