重複の可能性:
Arrays.binarySearchが正常に機能しない
BinarySearchの私の理解から、要素が配列またはコレクションに見つからない場合にのみ挿入ポイントを返します。
したがって、このコードは私を少し混乱させます:
import java.util.*;
public class LookinGlass {
public static void main(String args[]){
String[] asa = {"x", "c", "b", "d"};
int x = Arrays.binarySearch(asa, "b");
System.out.println("Index is at " + x);
Arrays.sort(asa);
int y = Arrays.binarySearch(asa, "b");
System.out.println(x + " " + y);
}
}
xを出力すると、配列に明らかに「b」が存在し、それを見つけることができるのに、なぜインデックスが-1であると表示されるのですか?
ありがとう