API简介

来源:互联网 发布:微星淘宝旗舰店叫什么 编辑:程序博客网 时间:2024/06/06 00:32

排序
在编写java程序的时候,我们经常都会遇到排序的问题,没有深入学习过java的人一般会选择两种做法,第一种是在网上找一段代码改改后就用在自己的程序中,第二种是自己花时间写一个。当然对第一种方法如果你看懂了网上找的代码还有点点收获,对第二种方法则可以证明你是一个认真的人,对一些排序算法有比较深刻的研究,但是倘若你写的不是很精妙的排序算法,而只是写一个普通的选择、冒泡、插入亦或是更高级一点的堆排、快排、归并之类的算法,在你对这些算法已经比较熟悉的情况下,这样自己写是没有多大意义的,相反会浪费不少时间。事实上java语言已经为它的使用者考虑到了排序的需求,提供了集合排序的函数调用,如下所示:

java.util.Arrays.sort(int[])java.util.Arrays.sort(int[], int, int)java.util.Arrays.sort(T[], int, int, java.util.Comparator)java.util.Arrays.sort(T[], java.util.Comparator)java.util.Collections.sort(java.util.List)java.util.Collections.sort(java.util.List, java.util.Comparator)

上面所列的是可能会经常用到的函数接口,还有其它一些重载的函数,感兴趣的可以可以查一查api说明文档。下面是一个例子:

//集合排序public class ArraySort {//对整数集合进行排序public void sortIntArray() {int[] array = new int[] { 8, 5, 9, 0, 6, 3, 4, 7, 2, 1 };System.out.println('整数排序前');for (int i = 0; i < array.length; i ) {System.out.print(array[i] ' ');}System.out.println();Arrays.sort(array);System.out.println('整数排序后');for (int i = 0; i < array.length; i ) {System.out.print(array[i] ' ');}System.out.println();}//对字符串集合进行排序public void sortStringArray() {String[] array = new String[] { 'a', 'c', 'e', 'd', 'b' };System.out.println('字符串排序前');for (int i = 0; i < array.length; i ) {System.out.print(array[i] ' ');}System.out.println();System.out.println('字符串排序后');Arrays.sort(array);for (int i = 0; i < array.length; i ) {System.out.print(array[i] ' ');}System.out.println();}
//对对象集合进行排序public void sortObjectArray() {Dog o1 = new Dog('dog1', 1);Dog o2 = new Dog('dog2', 4);Dog o3 = new Dog('dog3', 5);Dog o4 = new Dog('dog4', 2);Dog o5 = new Dog('dog5', 3);Dog[] dogs = new Dog[] { o1, o2, o3, o4, o5 };System.out.println('对象排序前');for (int i = 0; i < dogs.length; i ) {Dog dog = dogs[i];System.out.print(dog.getName() ':' dog.getWeight() ' ');}System.out.println();Arrays.sort(dogs, new ByWeightComparator());System.out.println('对象排序后');for (int i = 0; i < dogs.length; i ) {Dog dog = dogs[i];System.out.print(dog.getName() ':' dog.getWeight() ' ');}System.out.println();}
原创粉丝点击