java - java中如何从HashMap中返回关键内容?

标签 java collections hashmap

正在开发一个小项目,将一些学生的记录存储在 HashMap 作为数据库中。

private HashMap<String, Student> studentDb = new HashMap<String, Student>();

我的应用程序有一个 UI,允许用户选择任何字符串作为关键记录。它可以是数字或字母。创建每条记录时,会从另一个类创建一个对象,该类将信息保存在其字段中,但不应该存储 key 。

存储完所有数据后,他们可以请求查看到目前为止已存储的所有数据。我实例化对象的类中的 toSting 方法生成要显示的消息。

在显示时,我需要显示他们选择的 key 以及其余存储的数据,他们可能不会要求全部。问题是,如何访问给定记录的 key ?假设我不想使用用户应在请求时输入的 key 。有什么方法可以将其从 HashMap 集合中驱动出来吗?

我希望我能解释我的问题。 谢谢。

<小时/>

编辑:

enter image description here

这是请求的输出,但问题是我从他们插入请求的文本字段中读取了学生的 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/

相关文章:

java - addAll() 实现——Java

collections - 在 Kotlin 中维护重复值的两个列表的交集

java - 为什么 HashMaps 使用二的幂来实现?

java - 如何计算两个 Java java.sql.Timestamps 之间的差异?

java - 如何在动画结束后开始新的 Activity ?

c# - 找到包含查询数组所有元素的输入数组的最小窗口

c++ - hash_map< vector<int>, int> 使用查找函数时出错

java - 如何在 Java 中创建哈希表?

java - 如何在Freemarker模板中访问Spring MVC模型对象?

Java Web Start 安全警告 JNLP。 JWS 中的错误? 7u51