Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法,该方法检查hashmap(键)中是否出现了参数_Java_Hashmap - Fatal编程技术网

Java 方法,该方法检查hashmap(键)中是否出现了参数

Java 方法,该方法检查hashmap(键)中是否出现了参数,java,hashmap,Java,Hashmap,我有两个参数表示可能在文档中找到的两个区分大小写的单词。我需要一个方法,如果第一个参数在文档中至少出现过一次,并且紧接着第二个单词出现了至少一次,那么该方法必须返回true。否则它必须返回false 这是我的密码 public boolean nextTo(String firstInput, String secondInput) { Iterator it = Words.keySet().iterator(); while (it.hasNext() == true) {

我有两个参数表示可能在文档中找到的两个区分大小写的单词。我需要一个方法,如果第一个参数在文档中至少出现过一次,并且紧接着第二个单词出现了至少一次,那么该方法必须返回true。否则它必须返回false

这是我的密码

public boolean nextTo(String firstInput, String secondInput) {
Iterator it = Words.keySet().iterator();

    while (it.hasNext() == true)
    {
        it.next();

        if (Words.containsKey(firstInput))
        {
            if(Words.higherKey(secondInput))

            {
                return true;
            }

        }

    }
    return false;
解决方案1:

将文档表示为
字符串[]
,只需迭代文档中的单词即可。当您看到
firstInput
时,测试下一个单词是否为
secondInput

解决方案2:

为文档创建反向索引;i、 e.
映射
,其中
字符串
键是单词,
int[]
值包含文档中单词每次出现的索引

从文档填充反向索引

然后,要查找
firstInput
,然后是
secondInput

int[] fi = reverseIndex.get(firstInput);
int[] si = reverseIndex.get(secondInput);

if (fi == null || si == null) {
    return false;
}
for (int i = 0; i < fi.length; i++) {
    for (int j = 0; j < si.length; j++) {
        if (fi[i] == si[j] - 1) {
           return true;
        }
    }
}
return false.
int[]fi=reverseIndex.get(firstInput);
int[]si=reverseIndex.get(第二输入);
如果(fi==null | | si==null){
返回false;
}
对于(int i=0;i
据我所知,word是文档中所有单词的集合,因此您只能将word集合用于第一个关键字,但必须检查文档中出现的每个单词和后面的单词。否则,您无法确保顺序。那么我该如何做/实现它?
hasNext()
已经是一个布尔值。不要与
true
进行比较。当您从未使用迭代时找到的值,即从未使用
next()
返回的值时,迭代器循环的目的是什么?映射值是什么?