java中自身就有一个函数把数组从小到大排序,也可以用二分查找一个数据是否在一个已排好的数组中。
Array类调用:
public static void sort(double a[])
可以把a数组按升序排序(数组类型有很多,不只是Double)。
Array类调用:
public static void sort(double a[],int start,int end)
可以把a数组从索引start开始到end-1的元素按升序排序。
Array类调用(二分法):
public static int binarySearch(double[] a,double number)
该方法是查找number指定的数是否在a数组中(数组a必须是先排好序的数组),如果查找到该数在数组中,则返回该数在数组中的索引,否则返回负数。
详见代码:
package exam1;
import java.util.*;
public class Example1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int []a={12,23,9,23,6,45,90,123,19,34};
//直接调用sort方法将a数组进行排序
Arrays.sort(a);
System.out.println(Arrays.toString(a));
int number=45;
//查找a数组中是否存在45
int index=Arrays.binarySearch(a, number);
if(index>=0){
System.out.println(number+"和数组中索引为"+index+"的元素值相同。");
}
else{
System.out.println(number+"不与数组中任何元素值相同。");
}
}
}