java的类库里面提供了许多有用便捷的方法。这在很大的程度上节省了我们编程所需的时间。下面简单介绍下一些我们平时最常用排序和查找方法。
一.排序
1.Arrays.sort(double[] a)
我们可以看到方法的参数类型是double型的,这样子不仅可以使该方法可以处理doube型的数组,而且还可以处理int型的数组。(把int型的数据传给double型的数据是可行的,但反过来就不行)
2.Arrays.sort(double[] a,int start, int end)
这个方法和上面的那个方法比较像,只是函数的参数不一样,这个方法是上个方法的重载。重载之后的方法我们可以看到多了start和end两个参数。这两个参数的作用可以限定待排序数列的范围。
二.查找
我们常用的查找算法是二分查找,二分查找很高效,注意这种算法是建立在待查找数列是有序的基础上。
1.Arrays.binarysearch(double[] a ,double number)
a:是待查找的元素所在的序列 number:是待查找的数
如果找到该元素返回该元素的索引,否则返回一个负数。
下面我写了一个简单的程序,帮助大家了解,代码如下:
package 笔记;
import java.util.Arrays;
public class Example5_21_1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a= {1,2,54,32,43,23,78,654,43,2,34,5};
Arrays.sort(a,0,a.length);
System.out.print(Arrays.toString(a));
System.out.println("");
int temp1=Arrays.binarySearch(a, 654);
int temp2=Arrays.binarySearch(a, 435);
if(temp1>=0) {
System.out.println("654在数组a下标为"+temp1+"的位置");
}
else System.out.println("654不在数组a中");
if(temp2>=0) {
System.out.println("435在数组a下标为"+temp2+"的位置");
}
else System.out.println("435不在数组a中");
}
}
运行结果:
[1, 2, 2, 5, 23, 32, 34, 43, 43, 54, 78, 654]
654在数组a下标为11的位置
435不在数组a中