zoukankan      html  css  js  c++  java
  • [Java] 对象排序示例

    package test.collections;
    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Collections;
    import java.util.List;
    
    public class Test02 {
        public static void main(String[] args){
            List<Song> songs = new ArrayList<Song>();
            songs.add(new Song(2,"黄家驹","光辉岁月"));
            songs.add(new Song(5,"刘德华","忘情水"));
            songs.add(new Song(44,"张学友","吻别"));
            songs.add(new Song(32,"刘德华","爱你一万年"));
            songs.add(new Song(123,"黄家驹","冷雨夜"));
            songs.add(new Song(133,"小虎队","爱"));
            
            Collections.sort(songs);
            printList(songs);
        }
        public static void printList(Collection<Song> c){
            for(Song song:c){
                System.out.println(song);
            }
        }
    }
    class Song implements Comparable<Song>{
        private String name;
        private String songer;
        private int id;
        public Song(int id,String songer,String name) {
            super();
            this.id = id;
            this.name = name;
            this.songer = songer;
        }
        
        @Override
        public String toString() {
            return "Song [name=" + name + ", songer=" + songer + ", id=" + id + "]";
        }
    
        public Song() {
            super();
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSonger() {
            return songer;
        }
        public void setSonger(String songer) {
            this.songer = songer;
        }
        public int compareTo(Song s){
            //使用this.id 和s.id做比较,如果返回值>1,表示顺序排序,返回值是<1的数表示倒序
            if(this.id>s.id){
                return 1;
            }else if(this.id<s.id){
                return -1;
            }else {
                return 0;
            }
            
            //根据歌名排序
            //return this.getName().compareTo(s.getName());
            //根据歌手名排序
            //return this.getSonger().compareTo(s.getSonger());
        }
    }
  • 相关阅读:
    磁盘512n,512e,4k原生磁盘的区别和操作系统支持
    TLB与内存寻址,内存读取,虚拟内存的相关原理
    文件系统逻辑块与磁盘物理扇区的关系
    DBA的工作职责和每日工作
    理解数据库中的undo日志、redo日志、检查点
    React Native 常用插件案例
    React Native 学习资料
    React Native开源项目案例
    nginx rewrite 指令
    nginx反向代理配置
  • 原文地址:https://www.cnblogs.com/frost-yen/p/5383325.html
Copyright © 2011-2022 走看看