zoukankan      html  css  js  c++  java
  • java Comparable接口compareTo集合比较

    java自定义比较器,常用的有两种实现方式Comparable和Comparator

    Comparable和Comparator的主要区别在于:
    (1). Comparator 和 Comparable都是Java中的内部比较器接口,都是用来实现对一个自定义的类进行排序
    (2). 不同的是实现Comparable接口是定义在类的内部,比较代码需要嵌入类的内部结构中
    (3). Comparator 实现在类的外部,单独实现第一个比较器,不需要对原来的类进行结构上的变化,属于无侵入式的

    这里主要讲解Comparable 的使用方式,以下是实现代码,用起来很简单

    1. 创建一个对象PersonVO,然后实现Comparable接口

    @Data
    public class PersonVO implements Comparable<PersonVO> {
    
        private int age;
        private String name;
    
        @Override
        public int compareTo(PersonVO personVO) {
         // 返回的值分三种情况:负数, 零 , 正数
    return this.age - personVO.age; } }

    2. 在使用的时候调用Collections.sort 排序方法

        @Test
        public void testPerson(){
            List<PersonVO> list = new ArrayList<>();
            PersonVO p1 = new PersonVO();
            p1.setAge(18);
            p1.setName("我18岁");
            PersonVO p2 = new PersonVO();
            p2.setAge(27);
            p2.setName("我27岁");
            PersonVO p3 = new PersonVO();
            p3.setAge(9);
            p3.setName("我9岁");
            PersonVO p4 = new PersonVO();
            p4.setAge(30);
            p4.setName("我30岁");
            list.add(p1);
            list.add(p2);
            list.add(p3);
            list.add(p4);
            Collections.sort(list , PersonVO::compareTo);
            System.out.println(list.toString());
        }
  • 相关阅读:
    第七组第五次Alpha冲刺会议
    第七组第四次Alpha冲刺会议
    第三次Alpha冲刺会议&&期中回顾总结
    八级大狂风-项目系统设计与数据库设计
    Python之路——hmac模块
    Python之路——多线程
    Python之路——requests模块
    Python之路——并行编程之multiprocessing模块
    Python之路——迷宫问题
    Python之路——configparser模块
  • 原文地址:https://www.cnblogs.com/unknows/p/12808315.html
Copyright © 2011-2022 走看看