我知道如何在哈希表中找到相应键的值,但我如何找到哪个键附加到特定值?我写了一个函数,它循环遍历String并查找关键字。它做的很快,但我需要返回该值的关键字找到。这是我目前为止的方法
public void findKeywords(POITextExtractor te, ArrayList<Hashtable<Integer,String>> listOfHashtables, ArrayList<Integer> KeywordsFound) {
String document = te.getText().toString();
String[] words = document.split("\\s+");
int wordsNo = 0;
int wordsMatched = 0;
System.out.println("listOfHashtables = " + listOfHashtables);
for(String word : words) {
wordsNo++;
for(Hashtable<Integer, String> hashtable : listOfHashtables) {
//System.out.println(hashtable + " found in the document:");
if(hashtable.containsValue(word)) {
//<RETURN KEY OF THAT VALUE>
wordsMatched++;
System.out.println(word);
}
}
}
System.out.println("Number of words in document = " + wordsNo);
System.out.println("Number of words matched: " + wordsMatched);
}
无论如何,必须遍历哈希表中的所有条目-所以只需更改代码,以便执行此操作:
for (Map.Entry<Integer, String> entry : hashtable) {
if (word.equals(entry.getValue()) {
// Use entry.getKey() here
}
}
从这个问题的描述中,我不清楚你的哈希表打算表示什么——但是从整数到字符串的映射至少是不寻常的。你确定你不想反过来吗?
输入是一个哈希映射,比如 我想写一个方法,返回类型A的列表,其中有键,值属性与字符串类型,和键值从hashmap。 如何让它成为现实?
问题内容: 当大小超过maxthreshold值时,如何在哈希表或哈希表中进行重新哈希处理? 是否所有对都已复制到新的存储桶阵列中? 编辑: 重新哈希后,同一存储桶(位于链接列表中)中的元素会发生什么情况?我的意思是说,他们在重新哈希处理后会留在同一个桶中吗? 问题答案: 问题中的最大阈值称为负载系数。 建议负载系数约为0.75。负载因子定义为(m / n),其中n是哈希表的总大小,m是在需要增加
想改进这个问题吗 通过编辑这篇文章,更新问题,使其只关注一个问题。 我有
问题内容: 我目前正在尝试制作一个将动词与西班牙语共轭的程序。我创建了一个哈希表,其中包含一个键和对象Verb的实例化。键是具有动词不定式形式的字符串(例如“ hablar”)。这是到目前为止我对哈希映射的代码: HashMap中每个动词的键都基于动词的不定式形式。例如,字符串“ hablar”是西班牙语动词的键。Verb类具有一个名为getInfinitive()的方法,该方法返回一个字符串
例如,如果我有一个哈希表 字符串名;整数; 给定一个特定的键,如何只返回值的名称或数字? 目前,我可以在哈希表中找到密钥并返回它的值,但它返回的是“Value@2c6a3f77”我猜测@...是一个与程序如何存储数据相关的索引。
我想在命令行上这样做,所以像这样的事情会很好: 上面的方法当然不适合散列。所以最后我需要打电话 以自动化的方式。