zoukankan      html  css  js  c++  java
  • Java-比较器

    对集合中的对象进行排序

    1.Comparator 外部比较器,需要外部创建比较器对象实现 Comparator 接口

    /**
     * 外部比较器
     * 按age由小到大排序
     */
    class UserComparators implements Comparator<User>{
        @Override
        public int compare(User o1, User o2) {
            if(o1.age > o2.age) {
                return 1;
            }else if(o1.age < o2.age) {
                return -1;
            }
            return 0;
        }
    }
    
    public class User{
        int age;
        String name;
        
        public User(int age, String name) {
            super();
            this.age = age;
            this.name = name;
        }
        
        public static void main(String[] args) {
            List<User> list = new ArrayList<>();
            for (int i = 0; i < 12; i++) {
                list.add(new User(new Random().nextInt(210), i+"name"));
            }
            System.out.println(list);
            Collections.sort(list, new UserComparators());
            System.out.println(list);
            
        }
    
        @Override
        public String toString() {
            return "User [age=" + age + ", name=" + name + "]";
        }
    }

    2.Comparable 内部比较器,需要被比较的对象实现 Comparable 接口

    public class User implements Comparable<User>{
        int age;
        String name;
        
        public User(int age, String name) {
            this.age = age;
            this.name = name;
        }
        
        public static void main(String[] args) {
            List<User> list = new ArrayList<>();
            for (int i = 0; i < 12; i++) {
                list.add(new User(new Random().nextInt(210), i+"name"));
            }
            System.out.println(list);
            Collections.sort(list);
            System.out.println(list);        
        }
        
        /**
         * 内部比较器
         * 按age由小到大排序
         */
        @Override
        public int compareTo(User o) {
            if(this.age > o.age) {
                return 1;
            }else if(this.age < o.age) {
                return -1;
            }
            return 0;
        }
    
        @Override
        public String toString() {
            return "User [age=" + age + ", name=" + name + "]";
        }
    }
  • 相关阅读:
    Postman安装与使用
    最新的爬虫工具requests-html
    从高级测试到测试开发
    uiautomator2 使用Python测试 Android应用
    zalenium 应用
    Docker Selenium
    Java 测试驱动开发--“井字游戏” 游戏实战
    DevOps/TestOps概念
    Android测试(四):Instrumented 单元测试
    appium对博客园APP进行自动化测试
  • 原文地址:https://www.cnblogs.com/jhxxb/p/11837572.html
Copyright © 2011-2022 走看看