这里是有关JAVA的collections的sort 的有关知识
一:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class SortListDSemo2 {
public static void main(String[] args) {
List<Point> list=new ArrayList<Point>();
list.add(new Point(4,5));
list.add(new Point(2,4));
list.add(new Point(4,6));
list.add(new Point(9,6));
System.out.println(list);
/*
* collections 的Sor方法要求排序的集合元素必须实现Comparable接口
* 该接口用于表示可比较 其提供了一个抽象方法comparaTo用于定义比较规则。
*
*/
Collections.sort(list);
System.out.println(list);
}
}
二:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* collections的sort方法有两个不足:
* 1:要求我们的集合元素必须实现comparable接口
* 这样就对我们的类有较强的“侵入性”;
* 2:有时集合元素实现了comparale接口并定义了比较大小的规则
* 但是该规则不满组我们对排序的需求
* collections提供了一个重载的sort方法:
* static void sort(list list,comparable c)
* 该重载方法要求我们传入一个额外的比较器
* 按照比较器的规则来比较集合中的元素进行自然排序
* @author soft01
*
*/
public class Demo1 {
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("小明语句16时19分05秒");
list.add("黎明");
list.add("窗前没有光");
System.out.println(list);
MyComparator com=new MyComparator();
Collections.sort(list,com);
System.out.println(list);
}
}
class MyComparator implements Comparator<String>{
@Override
public int compare(String o1, String o2) {
return o1.length()-o2.length();
}
}
原文:http://blog.csdn.net/u012429555/article/details/51334144