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

如何从哈希图中获取一个条目而不进行迭代

谭宏盛
2023-03-14
问题内容

Entry<K,V>如果密钥未知,是否有一种优雅的方法可以从HashMap中仅获取一个而不进行迭代。

由于进入的顺序并不重要,我们可以这样说吗

hashMapObject.get(zeroth_index);

虽然我知道不存在通过索引获取的方法。

如果我尝试下面提到的方法, 它仍然必须获取hashmap的所有条目集

for(Map.Entry<String, String> entry : MapObj.entrySet()) {
    return entry;
}

欢迎提出建议。

编辑:请建议任何其他数据结构足以满足要求。


问题答案:

Jesper的回答很好。另一种解决方案是使用TreeMap(您要求其他数据结构)。

TreeMap<String, String> myMap = new TreeMap<String, String>();
String first = myMap.firstEntry().getValue();
String firstOther = myMap.get(myMap.firstKey());

TreeMap有开销,因此HashMap更快,但仅作为替代解决方案的一个示例。



 类似资料:
  • 问题内容: 我对HashMap有一个奇怪的问题。 有多个线程访问同一哈希图(不是线程安全的)。 有时,过程陷入困境。 当我检查线程堆栈时,我看到许多线程处于状态: 请注意,这种情况很少发生。并且不能按需复制。 为什么会卡住? 哈希图上没有同步。 键是字符串 问题答案: 有多个线程访问同一哈希图(不是线程安全的)。 听起来好像您在 没有 适当同步的线程环境中使用它。您遇到的问题是内存已损坏,因此线程

  • 我试图从ruby中的哈希表中获取第一个键和值键。我不知道散列的键值,因为它被传递给了方法。我在网上找不到如何将第一个键/值作为单独的哈希表查找。我认为只会试图找到一个名为0的元素,当我运行代码时,它只会返回。 我知道我可以找到密钥名和值,然后根据它们创建一个新的哈希,但我想知道是否有更简单的方法来做到这一点,这样我就可以立即得到一个哈希。 下面是我的代码: 这让我得到了正确的结果问题是我不明白为什

  • 我知道可以访问docker api,下面的命令运行得很好: 然而,我真的希望避免暴露与容器本身绑定,因为它是CI构建的一部分。是否有其他方法可以从容器本身中检索容器图像id/哈希(即),而不暴露并向它发出请求? 也许就像这里显示的Docker一样,如何从容器中获取容器信息?

  • 我正在使用hibernate作为对象类型从数据库获取数据。现在我的类不(也不是它的父类)重写equals方法。因此,如果我将所有object类型插入到一个hashset中,它不应该删除重复项,但它正在删除重复项。我的问题是它如何能够识别重复项?

  • 问题内容: 我有两个像下面的哈希图: 键不相同,但值相同,有时值也不相同。 我想找出与比较时不存在的值 但这使我从employeeMap中得到null。 您能帮我解决这个问题吗? 问候托尼 问题答案: 以下是完美运行的代码,比较失败的原因是映射值不同。 如果我们看到日期,则可以清楚地看到差异。 不同于 因为我将其存储为字符串。 谢谢你们的支持以及也投下反对票的人们。 :)托尼

  • 问题内容: 我试图在Go中获取文件的md5哈希,如下所示: 但是当我尝试通过以下方式获取哈希的’sum’(http://golang.org/pkg/hash/)的字符串时 当哈希应该是。当我尝试逐字节转换时,我得到的都是废话,只是字符不同。 我该如何获取哈希的字符串? 问题答案: 基本上,您已经获得了二进制数据,但是看起来您正在期待十六进制。看一下转换例程的hex包,尤其是。我不是一个程序员去,