这里是有关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(); } }
时间: 2024-10-11 18:39:53