java中的SORT怎么用

Python039

java中的SORT怎么用,第1张

Java中的Sort(排序)通常指的是Collections.sort() 对 List 的排序,该排序方式有两种不同改的使用方法:

第一种是list中的对象实现Comparable接口,如下

public class User implements Comparable<User>{

private String name

private Integer order

public String getName() {

return name

}

public void setName(String name) {

this.name = name

}

public Integer getOrder() {

return order

}

public void setOrder(Integer order) {

this.order = order

}

public int compareTo(User arg0) {

return this.getOrder().compareTo(arg0.getOrder())

}

}

此时可以直接排序

public static void main(String[] args) {

User user1 = new User()

user1.setName("a")

user1.setOrder(1)

User user2 = new User()

user2.setName("b")

user2.setOrder(2)

List<User>list = new ArrayList<User>()

//此处add user2再add user1

list.add(user2)

list.add(user1)

Collections.sort(list)

for(User u : list){

System.out.println(u.getName())

}

}

第二种方法是根据Collections.sort重载方法来实现,例如:

public static void main(String[] args) {

User user1 = new User()

user1.setName("a")

user1.setOrder(1)

User user2 = new User()

user2.setName("b")

user2.setOrder(2)

List<User>list = new ArrayList<User>()

list.add(user2)

list.add(user1)

Collections.sort(list,new Comparator<User>(){

public int compare(User arg0, User arg1) {

return arg0.getOrder().compareTo(arg1.getOrder())

}

})

for(User u : list){

System.out.println(u.getName())

}

}

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

根据你这要求,只有一个办法,但是有点约束:

import java.util.Arrays

import java.util.Collections

public class Test {

public static void main(String[] args) {

//注意,只能用对象类型,不可以使用简单类型 如int[] num则报错

Integer[] num = {5,8,3,9,1}

//如果是num是List或 Set,则用Collections.sort(num,Collections.reverseOrder())

Arrays.sort(num,Collections.reverseOrder())

for(int i=0i<num.lengthi++){

System.out.println(num[i])

}

}

}