正在开发一个小项目,将一些学生的记录存储在 HashMap 作为数据库中。
private HashMap<String, Student> studentDb = new HashMap<String, Student>();
我的应用程序有一个 UI,允许用户选择任何字符串作为关键记录。它可以是数字或字母。创建每条记录时,会从另一个类创建一个对象,该类将信息保存在其字段中,但不应该存储 key 。
存储完所有数据后,他们可以请求查看到目前为止已存储的所有数据。我实例化对象的类中的 toSting 方法生成要显示的消息。
在显示时,我需要显示他们选择的 key 以及其余存储的数据,他们可能不会要求全部。问题是,如何访问给定记录的 key ?假设我不想使用用户应在请求时输入的 key 。有什么方法可以将其从 HashMap 集合中驱动出来吗?
我希望我能解释我的问题。 谢谢。
<小时/>编辑:
这是请求的输出,但问题是我从他们插入请求的文本字段中读取了学生的 ID,这是一种作弊。我想知道是否可以从集合本身驱动它。
最佳答案
可以使用这样的东西:
工作版本:
import java.util.HashMap;
public class test{
public static void main(String[] args){
HashMap<String, String> studentDb = new HashMap<String, String>();
studentDb.put("1","A");
studentDb.put("2","B");
studentDb.put("3","C");
for(String key : studentDb.keySet()){
System.out.println(studentDb.get(key));
}
}
}
针对您的情况,您可以采取哪些措施:
...
for(String key : studentDb.keySet()){
if(studentDb.get(key)==/* STUDENT OBJECT */){
// Display / do something with the key.
}
}
...
关于java - java中如何从HashMap中返回关键内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42562470/