List排序

来源:互联网 发布:分别采用sjf调度算法 编辑:程序博客网 时间:2024/06/11 07:07
import java.util.ArrayList;
002import java.util.Collections;
003import java.util.Comparator;
004import java.util.List;
005import java.util.Random;
006 
007/**
008 *
009 * @author www.zuidaima.com
010 *
011 */
012public class ListSort {
013 
014    public static void main(String[] args) {
015        List<User> users = new ArrayList<User>();
016        int id = 0;
017        User user = null;
018 
019        Random random = new Random();
020 
021        id = random.nextInt(100000);
022        user = new User(id);
023        user.setId(id);
024        users.add(user);
025 
026        id = random.nextInt(100000);
027        user = new User(id);
028        user.setId(id);
029        users.add(user);
030 
031        id = random.nextInt(100000);
032        user = new User(id);
033        user.setId(id);
034        users.add(user);
035 
036        id = random.nextInt(100000);
037        user = new User(id);
038        user.setId(id);
039        users.add(user);
040 
041        id = random.nextInt(100000);
042        user = new User(id);
043        user.setId(id);
044        users.add(user);
045 
046        id = random.nextInt(100000);
047        user = new User(id);
048        user.setId(id);
049        users.add(user);
050 
051        id = random.nextInt(100000);
052        user = new User(id);
053        user.setId(id);
054        users.add(user);
055 
056        id = random.nextInt(100000);
057        user = new User(id);
058        user.setId(id);
059        users.add(user);
060 
061        id = random.nextInt(100000);
062        user = new User(id);
063        user.setId(id);
064        users.add(user);
065 
066        System.out.println("Before sort:");
067        for (User _user : users) {
068            System.out.print(_user + " ");
069        }
070 
071        Collections.sort(users, new Comparator<User>() {
072            @Override
073            public int compare(User user1, User user2) {
074                Integer id1 = user1.getId();
075                Integer id2 = user2.getId();
076                                  //可以按User对象的其他属性排序,只要属性支持compareTo方法
077                return id2.compareTo(id1);
078            }
079        });
080        System.out.println("\nAfter sort 从大到小倒序:");
081        for (User _user : users) {
082            System.out.print(_user + " ");
083        }
084         
085        Collections.sort(users, new Comparator<User>() {
086            @Override
087            public int compare(User user1, User user2) {
088                Integer id1 = user1.getId();
089                Integer id2 = user2.getId();
090                                //可以按User对象的其他属性排序,只要属性支持compareTo方法
091                return id1.compareTo(id2);
092            }
093        });
094        System.out.println("\nAfter sort 从小到大正序:");
095        for (User _user : users) {
096            System.out.print(_user + " ");
097        }
098    }
099 
100}
101 
102class User {
103    private int id;
104 
105    public User(int id) {
106        this.id = id;
107    }
108 
109    public int getId() {
110        return id;
111    }
112 
113    public void setId(int id) {
114        this.id = id;
115    }
116 
117    @Override
118    public String toString() {
119        return id + "";
120    }
121}
0 0