java中的SORT怎么用

Python016

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())

}

}

java数组sort()方法降序方式:

用Arrays类sort()对数组元素进行降序排列

import java.util.Arrays

class SortDemo

{

public static void main(String[] args)

{

int[] vec={0,15,-14,45,20,70}

Arrays.sort(vec)

System.out.println("/n")

System.out.println("降序排列:")

for (int i=vec.length-1i>=0 i-- )

{

System.out.print(vec[i]+" ")

}

}

}

1.java.util.Collections.sort(List list)与Comparable,Comparator 接口

2.java.util.Arrays.sort(T[])与Comparable,Comparator 接口

3.JFace中 TableView ,TreeView, ListView的排序,实现ViewerSorter

两者的实现类似,不同的是针对的对象不一样。Collections.sort()针对的是List,Arrays.sort()针对的是数组。如果List中或者数组中存的都是基本数据类型(byte、short、int、long、float、double、char、boolean) 和 String,那么我们直接使用即可。如果其中存的数据是对象,那么有两种方法,一是每个对象实现Comparable接口,二是使用Collections.sort(List list,Comparator c)或者Arrays.sort(T[],Comparator c),临时实现一个Comparator 来实现排序。

最后是一个以TableView 为例。

TableViewer tableViewer = new TableViewer(detailGroup, SWT.BORDER | SWT.V_SCROLL

| SWT.H_SCROLL | SWT.FULL_SELECTION)

tableViewer.setSorter(new FolderSorter())

public class FolderSorter extends ViewerSorter {

。。。。。。

}