zoukankan      html  css  js  c++  java
  • 集合的排序(正序,倒序,从大到小排序)

    1.简单的集合排序

     1 package com.demo.advice;
     2 
     3 import java.util.Collections;
     4 import java.util.LinkedList;
     5 
     6 import com.alibaba.druid.sql.visitor.functions.Reverse;
     7 
     8 public class Test {
     9     public static void main(String[] args) {
    10         
    11         LinkedList<Integer> list = new LinkedList<Integer>();
    12         list.add(1);
    13         list.add(8);
    14         list.add(7);
    15         list.add(4);
    16         list.add(5);
    17         //排序前
    18         System.out.println(list);
    19         //倒序
    20         Collections.reverse(list);
    21         System.out.println(list);
    22         //从大到小排序
    23         Collections.sort(list);
    24         System.out.println(list);
    25         
    26     }
    27     
    28 }
    View Code

    排序结果图

    2.复杂一点的集合排序

     1 package com.demo.advice;
     2 
     3 
     4 import java.util.Collections;
     5 import java.util.LinkedList;
     6 
     7 
     8 
     9 public class Test {
    10     public static void main(String[] args) {
    11         LinkedList<Users> list = new LinkedList<Users>();
    12         list.add(new Users(1,"aa",20));
    13         list.add(new Users(4,"bb",30));
    14         list.add(new Users(3,"cc",25));
    15         list.add(new Users(3,"dd",42));
    16         list.add(new Users(8,"ee",35));
    17         Collections.sort(list);
    18         for (Users users : list) {
    19             System.out.println(users);
    20         }
    21     }
    22     
    23 }

    下面是实体类实现comparable接口

    package com.demo.advice;
    
    public class Users implements Comparable<Users> {
    
        private int id;
        private String name;
        private int age;
        public Users() {
            super();
            // TODO Auto-generated constructor stub
        }
        public Users(Integer id, String name, Integer age) {
            super();
            this.id = id;
            this.name = name;
            this.age = age;
        }
        @Override
        public String toString() {
            return "Users [id=" + id + ", name=" + name + ", age=" + age + "]";
        }
        
        
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        @Override
        public int compareTo(Users o) {
            int i = this.getId() - o.getId();
            if (i==0) {
                return this.getAge() - o.getAge();
            }
            return i;
            // TODO Auto-generated method stub
            
        }
    }

    比较的结果截图

    如果要按姓名排序

  • 相关阅读:
    delphi10.3.1不支持.net 5
    FIREDAC返回多结果集
    咏南中间件多种部署方式
    ISAPI多进程设置
    咏南ISAPI中间件
    datasnap isapi程序iis设置
    mormot支持TCP/IP
    咏南中间件支持JWT TOKEN
    基于Token的身份认证 与 基于服务器的身份认证
    delphi开源JWT
  • 原文地址:https://www.cnblogs.com/xaoco/p/9133377.html
Copyright © 2011-2022 走看看