我对java还比较陌生,我刚开始学习hashmap。我的问题是:如何删除 students
如果它在for循环中并且依赖于用户输入,那么Map?为便于可视化,请参阅下面的代码:
import java.util.Map;
import java.util.HashMap;
import java.util.Scanner;
public class StudentList {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Map<String, String> students = new HashMap<>();
for (int i = 1; i <=3; i++) {
System.out.println("Enter student number " + i + ": ");
String stud_num = scan.nextLine();
System.out.println("Enter name " + i + ": ");
String name = scan.nextLine();
students.put(stud_num, name);
//I want to remove a key here using students.remove(key)
}
for (Map.Entry e : students.entrySet()){
System.out.println(e.getKey() + ": " + e.getValue());
}
}
}
1条答案
按热度按时间mqkwyuun1#
对于hasmap,要删除项目,请使用以下命令(我相信您已经知道)
对于for循环,当然要根据用户的输入来确定是否要添加(或删除)和项。您需要让系统知道您是要删除(还是只添加)。通常的方法是说add“remove:[data]”,当系统检测到用户输入中有“remove:”时,它将从Map中删除“data”。
所以在你的for循环中,请改变
到
为了让用户知道如何使用它,请将您的输入提示从“输入名称”更改为“输入名称(或[remove:name]删除“