2012-01-30 4 views
0

これは動作しません:バイト配列のコレクションでCollections.binarySearchを実行する方法は?

List<byte[]> byteArrayList = .... ; 
Collections.binarySearch(byteArrayList, new ByteArrayComparator()); 

バイト[]はComparableを拡張していないため。コンパレータが提供されていないのはなぜですか? どんなトリックですか?

UPS、エラー、私はそれはあなたが、比較のためにバイト配列のリストを検索している、現状では私は内部の検索語...

答えて

3

を持っていたと確信していました。間違ったbinarySearchメソッド(thisではなくthis)を呼び出しているようです。

これを試してみてください:

List<byte[]> byteArrayList = .... ; 
byte[] valueToFind = .... ; 
int index = Collections.binarySearch(byteArrayList, 
            valueToFind, 
            new ByteArrayComparator()); 
+0

ああ、いまいましい、単に検索キーを忘れていた...おかげでとにかく – ib84