【问题标题】:Collections.binarySearch not workingCollections.binarySearch 不工作
【发布时间】:2013-02-12 02:08:50
【问题描述】:

我必须制作一个预测文本程序,其中一种方法是使用 ArrayList 和方法 Collections.binarySearch。有人告诉我们,我们必须使用类似的方法将字典中的所有单词及其相应的数字签名添加到 ArrayList 中,即:-

public class WordSig implements Comparable<WordSig> {
private String word;
private String signature;


public WordSig(String word){
    this.word = word;
    this.signature = ListDictionary.wordToSignature(word);  
}

public String getSignature(){
    return signature;
}


public String toString() {
    return signature + ", " + word;
}

@Override
public int compareTo(WordSig ws){


    return signature.compareTo(((WordSig)ws).signature);

}


}

这样做之后,我对我的方法进行了排序,然后实现了一个名为 signatureToWords 的方法,该方法采用给定的数字签名并尝试找到找到该签名的索引,但它一直返回 -1。 signatureToWords 方法写在下面:-

public static Set<String> signatureToWords(String signature) {

    int index = Collections.binarySearch(listOfDictionary, 
            new WordSig(signature));

    System.out.println(index);
    return null;

}

您在我的代码中发现有什么错误吗?我真的很感激帮助。谢谢!

【问题讨论】:

    标签: java collections binary-search comparable


    【解决方案1】:

    我不会为你做作业,但请确保你没有混淆单词和签名;)

    【讨论】:

      猜你喜欢
      • 2015-07-23
      • 2018-09-29
      • 2011-08-05
      • 2017-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多