比较器的重写-java Comparator

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;
            }
        });

    }

}

猜你喜欢

转载自www.cnblogs.com/fay0926/p/9648091.html