zoukankan      html  css  js  c++  java
  • 比较器的重写-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;
                }
            });
    
        }
    
    }
  • 相关阅读:
    高性能网站优化-确保异步加载脚本时保持执行顺序
    sublime安装和汉化
    解决IE6下a标签的onclick事件里的超链接不跳转问题
    C++大数据处理
    HDRtools-OpenExr
    Effective C++学习进阶版
    我的算法学习之路
    一个应届计算机毕业生的2012求职之路
    存储器管理
    程序员的自我修养——操作系统篇
  • 原文地址:https://www.cnblogs.com/fay0926/p/9648091.html
Copyright © 2011-2022 走看看