当前位置: 首页 > 面试题库 >

如何从HashMap获取值和键?

羊舌洛华
2023-03-14
问题内容

我正在用Java写一个简单的编辑文本。当用户打开文件时,将在中打开文件JTabbedPane。我执行以下操作来保存打开的文件:

HashMap<String, Tab> hash = new HashMap<String, Tab>();

Tab将从何处接收值,例如:File file, JTextArea container, JTabbedPane tab

我有一堂课Tab

public Tab(File file, JTextArea container, JTabbedPane tab)
{
    this.file = file;
    this.container = container;
    this.tab = tab;
    tab.add(file.getName(), container);
    readFile();
}

现在,在此类中SaveFile,我需要获取Tab存储在中的值HashMap。我怎样才能做到这一点?


问题答案:

要从地图获取所有值:

for (Tab tab : hash.values()) {
    // do something with tab
}

要从地图中获取所有条目,请执行以下操作:

for ( Map.Entry<String, Tab> entry : hash.entrySet()) {
    String key = entry.getKey();
    Tab tab = entry.getValue();
    // do something with key and/or tab
}

Java 8更新:

处理所有值:

hash.values().forEach(tab -> /* do something with tab */);

要处理所有条目:

hash.forEach((key, tab) -> /* do something with key and tab */);


 类似资料:
  • 问题内容: 如果我有,并且为其返回a ,那么如何获取相应的键?我是否必须遍历哈希图?最好的方法是什么? 问题答案: 如果你选择使用Commons Collections库而不是标准Java Collections API,则可以轻松实现此目的。 Collections库中的BidiMap接口是一个双向映射,使你可以将键映射到值(如法线映射),也可以将值映射到键,从而允许你在两个方向上执行查找。ge

  • 我有一个hashmap,看起来像这样: 我的ImageRecipeMap对象如下所示: 我想获取所有ImageID列表,并使用Java8流创建一个总的ImageID列表。到目前为止,这就是我所拥有的,但我的collect上似乎有一个编译错误:

  • 问题内容: 我正在尝试使用HashMap将唯一字符串映射到字符串ArrayList,如下所示: 基本上,我希望能够通过数字访问密钥,而不是使用密钥名称。我希望能够访问所述键的值,以对其进行迭代。我在想像这样的事情: 是否有捷径可寻? 问题答案: 您可以通过调用来遍历键,也可以通过调用来遍历项。遍历条目可能会更快。 如果要确保按插入键的顺序遍历键,请使用。 顺便说一句,我建议将地图的声明类型更改为。

  • 初学者问题:我有一个hashmap,它将整数数组存储为值。每个值的键是一个由两个整数(坐标)组成的对象。 我的问题是:如何根据对象中的两个坐标(我的“键”)从hashmap检索值? 我的协和类(在Eclipse的一点帮助下): 构建Hashmap: 如果我想访问坐标12,13上的数组,如何检索它?是否需要迭代(我希望不是,我想添加100000个坐标,当然要快速访问)。 我希望这能在某种程度上符合

  • 公共静态地图>hillsByCounty(列表山){ }我的hashmap的值为(列表中的山名、国家名、高度、经度和纬度)。但是,我只需要打印3个县,每个县的前3个山及其高度,我该怎么做?在这里输入图像描述

  • 我在Eclipse中获得了一个Hashmap条目,如下所示: 链接到hashmap输出的图片 我无法使用键=“value”获取值。我收到的错误是:java。lang.ClassCastException:类java。无法将lang.Double转换为java类。util。Map(java.lang.Double和java.util.Map位于加载程序“bootstrap”的模块java.base中