Arrays.sort()方法实例:用于对整形数组及字符串数组进行排序
这里写代码片
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main1 {
public static void main(String[] args){
int[] a={2,5,4,8,3,6};
String[] s={"a","g","c","h","e"};
Arrays.sort(s);
System.out.println("整形数组二分法查找结果为:"+Arrays.binarySearch(a, 8));
List list=Arrays.asList(s);
//Arrays.sort()方法根据传出参数的长度大小来判断用哪种排序方法,如果数组的长度小于7用冒泡排序,
//如果数组的长度大于7,将数组分为两部分,前半部分后后半部分分别进行冒泡排序,最后再执行一次总的排序
Arrays.sort(a);
for(int i:a)
System.out.println(i);
BinarySearch binarySearch=new BinarySearch();
System.out.println("二分法查找结果为: "+binarySearch.method(a,3));
System.out.println("字符串查找后的结果为:"+binarySearch.binarySearch(list, "e"));
}
}
class BinarySearch{
public int binarySearch(List list,String s){
int i=0;
i=Collections.binarySearch(list, s);
return i;
}
public static int method(int[] arrays,int key){
// int i;
// i=Collections.binarySearch(arrays, element );
// return i;
int start=0;
int end=arrays.length-1;
while(start<=end){
int middle=(start+end)/2;
if(key<arrays[middle]){
end=middle-1;
}else if(key>arrays[middle]){
start=middle+1;
}else{
return middle;
}
}
return -1;
}
}
输出:
整形数组二分法查找结果为:-7
2
3
4
5
6
8
1
字符串查找后的结果为:2