java里面的排序查找

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中

猜你喜欢

转载自blog.csdn.net/just16cz/article/details/80395999