java 集合排序

java

Java API针对集合类型排序提供了两种支持:
java.util.Collections.sort(java.util.List)
java.util.Collections.sort(java.util.List, java.util.Comparator)

第一个方法要求所排序的元素类必须实现java.lang.Comparable接口。

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

/**

* @author rhino

*

*/

public class SortArray {

private class People {

String id;

String name;

public People(String id, String name) {

this.id = id;

this.name = name;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Override

public String toString() {

return id + ":" + name;

}

}

private class myComparator implements Comparator<People> {

@Override

public int compare(People o1, People o2) {

return o1.getName().compareTo(o2.getName());

}

}

/**

* @param args

*/

public static void main(String[] args) {

SortArray sortArray = new SortArray();

List<People> list = new ArrayList<People>();

list.add(sortArray.new People("1", "zhangshang"));

list.add(sortArray.new People("2", "lisi"));

list.add(sortArray.new People("3", "wangwu"));

System.out.println(list);

Comparator<People> comparator = sortArray.new myComparator();

Collections.sort(list, comparator);

System.out.println(list);

Comparator<People> descComparator = Collections

.reverseOrder(comparator);

Collections.sort(list, descComparator);

System.out.println(list);

}

}


第二个方法要求实现一个java.util.Comparator接口。

java.lang.Comparable接口和java.util.Comparator接口是Java对排序最提供最基本支持。这两个接口不但可以用于集合元素排序,还可以用于数组排序。
如果数组或集合元素是String类型,则可以利用Java API实现的Comparator<String>对象String.CASE_INSENSITIVE_ORDER为容器元素排序。

以上是 java 集合排序 的全部内容, 来源链接: utcz.com/z/393248.html

回到顶部