Java哈希表问题

标签 java hashtable

我在使用 java 哈希表时遇到一些问题。以下是我的紧急键和值

{corpus\2.txt=[猫麻雀], corpus\4.txt=[象麻雀], corpus\1.txt=[象牛], corpus\3.txt=[牛猫]}

因此,如果我想访问第一个元组,我必须传递 key “corpus\2.txt”才能获取其值。如果我传递值我就能得到它的关键。但我想创建一个我传递的函数,例如 1 2 3 4 等,并同时获取键和值。有什么想法吗?

第二个问题: 是否也可以存储带有键和值的索引?或者是否可以从现有的哈希表中获取索引(0,1,2,3等)?

谢谢!

最佳答案

对于初学者,我会使用 HashMap ,而不是(现已过时的)哈希表。如果你这样做,那么你可以使用 Map.Entry返回键/值对(根据您的第一个问题)。

您无法轻松地使用 key 存储索引。您可能想创建一个特殊的 Key 对象:

public class Key {
   private String name;
   private int index;
   ....
}

使用合适的 equals()/hashCode() 实现(如下面的注释中指出的),并将其用作 HashMap< 中的键。您必须使用此键执行查找,从而从当前基于字符串的键构造一个键,但我认为这没什么大不了的。

关于Java哈希表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1976696/

相关文章:

c++ - 如何访问/迭代 unordered_multimap 中的所有非唯一键?

java - 是否可以在 Java 哈希表中添加没有值的键?

java - 在java中使用什么集合来存储具有相同哈希码的多个对象?

python - 字典和哈希表之间的真正区别是什么?

java - Apache httpd 和 Tomcat 如何协同工作?

java - 没有这样的定义异常 : Spring Famework 4 , Apache tiles 3 和 Tomcat 8

java - 使用 Java 连接到 FTP

Java字节码 "excessive"的dup数算不算 "poor"码?

c - 'Table1' 未声明(在此函数中首次使用)

java - 使用感知器 1 层进行错误学习