日期:2014-05-20  浏览次数:20661 次

Arrays.binarySearch(Aa, 5);是什么意思.....
package 数组;

import java.util.Arrays;
import java.util.Comparator;
public class ShuSouOne
{
public static void main(String[] args) 
{
int[] Aa={6,2,5,4,6,2,3};
Arrays.sort(Aa);
Arrays.binarySearch(Aa, 5);
System.out.print("排序后的数组为:");
for(int i=0;i<Aa.length;i++){
System.out.print(+Aa[i]+" ");
}
System.out.println();
int location=Arrays.binarySearch(Aa, 5);
System.out.println("查找5的位置是"+location+",Aa["+location+"]="+Aa[location]);
}
}
我是个新手,很想知道Arrays.binarySearch(Aa, 5); 在这段代码中起到什么作用,我将它注释掉以后发现并没有对结果有什么影响,希望哪位高手帮一下忙,多谢!

------解决方案--------------------
API:
Java code

binarySearch
public static int binarySearch(int[] a,
                               int key)使用二进制搜索算法来搜索指定的 int 型数组,以获得指定的值。必须在进行此调用之前对数组进行排序(通过上面的 sort 方法)。如果没有对数组进行排序,则结果是不明确的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。 

参数:
a - 要搜索的数组。
key - 要搜索的值。 
返回:
搜索键的索引,如果它包含在列表中;否则返回 (-(插入点) - 1)。插入点 被定义为将键插入列表的那一点:即第一个大于此键的元素索引,如果列表中的所有元素都小于指定的键,则为 list.size()。注意,这保证了当且仅当此键被找到时,返回的值将 >= 0。
另请参见:
sort(int[])