[英]Collections.binarySearch not working
我必須編寫一個預測性文本程序,而要做的一種方法是使用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;
}
有什么可以在我的代碼中看到的嗎? 我非常感謝您的幫助。 謝謝!
我不會為您做家庭作業,但請確保您沒有混淆單詞和簽名;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.