zoukankan      html  css  js  c++  java
  • 关于java Collections.sort 排序

    public static void main(String[] args) {
            
            int[] dd = {12,34,46,123,23,2,35,13,543231,65,5645,57};
            Arrays.sort(dd);
            System.out.println(Arrays.toString(dd));  // 常用数组排序,算法是快速排序算法
            
            List<Student> ls = new ArrayList<Student>(); 
            ls.add(new Student(2, "12123"));
            ls.add(new Student(54, "12334"));
            ls.add(new Student(32, "354123"));
            ls.add(new Student(6, "12654623"));
            ls.add(new Student(7, "456423"));
        
            
            Collections.sort(ls);  // 对象集合排序,依赖对象的compare方法 优点排序方式可以复用,但是不够灵活
            for(Student st : ls){
                System.out.println(st.toString());
            }
            Collections.sort(ls ,new Comparator<Student>(){  // 对象集合排序,需要每次写比较方法
    
                @Override
                public int compare(Student o1, Student o2) {
                    // TODO Auto-generated method stub
                    if(o1.getName().compareTo(o2.getName()) == 0){
                        return o1.getName().compareTo(o2.getName());
                    }else{
                        return o1.getId() - o2.getId();
                    }
                }
                
            });
            System.out.println("------------------------------");
            for(Student st : ls){
                System.out.println(st.toString());
            }
        }
    }
    
    
    class Student implements Comparable{
        int id;
        String name ;
        
        public Student(int id, String name) {
            super();
            this.id = id;
            this.name = name;
        }
    
        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;
        }
    
        @Override
        public int compareTo(Object o) {
            // TODO Auto-generated method stub
            if(this.id != ((Student)o).getId()){
                return this.id - ((Student)o).getId();
            }else{
                return this.name.compareTo(((Student)o).getName());
            }
        }
    
        @Override
        public String toString() {
            return "id=" + id + ", name=" + name;
        }
        
    }
  • 相关阅读:
    ES6 语法
    使用过滤器进行跨域
    java读取资源文件(Properties)
    跨域
    java提取(获取)博客信息(内容)
    SSM命名规范框架
    学校管理系统设计java(数据库、源码、演讲内容、ppt等)
    学校管理系统C#(数据库、源码、演讲内容、ppt等)
    vue快速使用
    故障排除:无法启动、访问或连接到 Azure 虚拟机上运行的应用程序
  • 原文地址:https://www.cnblogs.com/qinshuipo/p/6897787.html
Copyright © 2011-2022 走看看