インダイレクションを介して実際にアクセスできる配列でバイナリ検索を行う最良の方法は何でしょうか? つまり、orが辞書順で最も低い文字列であることを
意味する
Egのソートされたバージョンを表すInteger[]
a のインデックスを格納する があります。
説明が明確であることを願っています。の一部である場合、 for を
介してバイナリ検索を実行する最良の方法は何ですか?String[]
String[]
Integer[] idxes= {5, 4, 0, 3 , 1, 2}
String[5]
String[idxes[0]]
idexes
String
String[] words
私がしたことは次のとおりです。
int pos = Arrays.binarySearch(idexes, -1, new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
if(o1 == -1){
return k.compareTo(words[o2]);
}
else{
return words[o1].compareTo(k);
}
}
});
wherek
は検索ワードで、words[]
はString[]
前述の です。これは機能しますが、 APIで渡す I が
好きではありません。
これにアプローチするより良い方法はありますか? -1
binarySearch