zoukankan      html  css  js  c++  java
  • 【java】自定义排序

    使用Comparable接口

    这里定义了一个类Node,有两个属性,id,age。

    排序方法是,先根据id升序排,id一样,age降序排。

    里面有一个compareTo方法。返回值有三个

    1、 <   0   小于关系 (升序)

    2、== 0   等于关系

    3、>   0   大于关系 (降序)

     1 import java.util.*;
     2 public class sortself {
     3 
     4     public static void main(String[] args) {
     5         List <Node> list = new ArrayList<Node>();
     6         list.add(new Node(1,25));
     7         list.add(new Node(1,27));
     8         list.add(new Node(2,23));
     9         list.add(new Node(3,23));
    10         list.add(new Node(4,23));
    11         list.add(new Node(4,30));
    12         
    13         Collections.sort(list);
    14         for(Node node: list) {
    15             System.out.println(node.id + " " + node.age);
    16         }
    17 
    18     }
    19 }
    20 
    21 class Node implements Comparable<Node>{
    22     int id;
    23     int age;
    24     
    25     Node(int id,int age){
    26         this.id = id;
    27         this.age = age;
    28     }
    29     
    30     @Override
    31     public int compareTo(Node o) {
    32         if(id == o.id) {
    33             return o.age-age;
    34         }
    35         else
    36             return id-o.id;
    37     }
    38 }

    结果:


    补充一个排序 

    重写Comparator中的方法

  • 相关阅读:
    saltstack笔记
    saltstack学习篇
    tomcat学习篇
    memcache笔记
    sed、awk学习篇
    javascript function call
    jvm性能调优工具
    spring boot 单元测试
    activemq 分布式事务
    sringboot 集成dobbo2.5.3
  • 原文地址:https://www.cnblogs.com/Asumi/p/10579564.html
Copyright © 2011-2022 走看看