java中如何指定sort的排序方法

Python010

java中如何指定sort的排序方法,第1张

1.Arrays.sort(int[]

a)

这种形式是对一个数复组的所有元素进制行排序,并且是知按从小到大的顺序。道

2.案例

public

class

Test

{

public

static

void

main(String[]

args)

{

int[]

a

=

{9,

8,

7,

2,

3,

4,

1,

0,

6,

5}

Arrays.sort(a)

for(int

i

=

0

i

<

a.length

i

++)

{

System.out.print(a[i]

+

"

")

}

}

}

//运行结果如下:

//0

1

2

3

4

5

6

7

8

9

在排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator

实现方法 public int compare(Object o1, Object o2) 最为重要..

举个例子:

package book.arrayset

import java.util.Comparator

/**

* 整数比较器,将整数按降序排列

*/

class MyIntComparator implements Comparator{

/**

* o1比o2大,返回-1;o1比o2小,返回1。

*/

public int compare(Object o1, Object o2) {

int i1 = ((Integer)o1).intValue()

int i2 = ((Integer)o2).intValue()

if (i1 <i2){

return 1

}

if (i1 >i2){

return -1

}

return 0

}

}

//上面的为比较的函数实现,下面真正的添加数据,

//通过调用上面的比较函数实现自定义排序的功能

package book.arrayset

import java.util.ArrayList

import java.util.Collections

import java.util.List

/**

* 对List中的元素排序

*/

public class SortList {

public static void output(List list){

if (list == null){

return

}

for (int i=0i<list.size()i++){

System.out.print(list.get(i).toString() + " ")

}

System.out.println()

}

public static void main(String[] args) {

List list = new ArrayList()

list.add(new Integer(5))

list.add(new Integer(8))

list.add(new Integer(1))

list.add(new Integer(3))

list.add(new Integer(2))

list.add(new Double(3.1))

System.out.println("list开始状态")

SortList.output(list)

//Collections.sort方法将用默认比较器排列list的元素

Collections.sort(list)

System.out.println("list被默认比较器排序后的状态")

SortList.output(list)

//下面将list的元素按降序排列

Collections.sort(list, new MyIntComparator())

System.out.println("list被自定义比较器排序后的状态")

SortList.output(list)

//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,

//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。

//然后采用Collections.sort(list, comparator)方法对容器进行排序。

}

}