比較器的重寫-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;
            }
        });

    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM