ArrayList默认升序排列list中的数据,重写比较器改为降序排列
package intership; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashMap; import java.util.List; /** * @Author: yf.zuo * @Date: 20:09 2018/8/19 */ public class Comparator { public static void main(String[] args){ List<Integer> list = new ArrayList<>(); list.add(1); list.add(8); list.add(7); Collections.sort(list); for (Integer data : list){ System.out.print(data); } Collections.sort(list, new java.util.Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { if (o1 < o2){ return 1; }else{ return -1; } } }); for (Integer data : list){ System.out.print(data); } } }
TreeMap、ArrayList、TreeSet三种类型的集合以及Arrays比较器的重写方式(未给出具体的比较大小的方式)
package intership; import java.util.*; import java.util.Comparator; /** * Created by Fay on 2018/9/13. */ public class ComparatorTest { public static void main(String args[]) { TreeMap<Father, String> treeMap = new TreeMap(new Comparator<Father>() { @Override public int compare(Father o1, Father o2) { return 0; } }); //Father为自定义的类 ArrayList<Father> arrayList = new ArrayList<>(); Collections.sort(arrayList, new Comparator<Father>() { @Override public int compare(Father o1, Father o2) { return 0; } }); TreeSet<Father> treeSet = new TreeSet<>(new Comparator<Father>() { @Override public int compare(Father o1, Father o2) { return 0; } }); Integer [] a = new Integer[5]; Arrays.sort(a, new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return 0; } }); } }