Array排序和List排序

public class SortTest {

    public static void main(String[] args) {

        int arr[]={12,4,45,23,5,7,9,33};
        System.out.println("数组冒泡排序-------------------------------------------------------------");
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr.length-i-1; j++) {
                if(arr[j]<arr[j+1]){//从大到小   大数放在最前位
                    int temp = arr[j];
                    arr[j]  = arr[j+1];
                    arr[j+1]=temp;
                }
            }
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "	");
        }
        System.out.println();
        System.out.println();
        System.out.println("数组sort排序-------------------------------------------------------------");
        Arrays.sort(arr);//默认排序是从小到大
        for(int i = 0;i < arr.length;i++)
        {
            System.out.print(arr[i] + "	");
        }
        System.out.println();
        System.out.println();
        System.out.println("list sort排序-------------------------------------------------------------");
        SortTest s  = new SortTest();
        List<User> list=new ArrayList<User>();
        list.add(s.new User(12, "aa"));
        list.add(s.new User(35, "cc"));
        list.add(s.new User(14, "bb"));
        list.add(s.new User(58, "ee"));
        list.add(s.new User(38, "dd"));
        //方法一:根据Collections.sort重载方法
        Collections.sort(list, new Comparator<User>() {
            public int compare(User arg0, User arg1) {
                return arg0.getAge().compareTo(arg1.getAge()); //当前为升序,调换两个位置就是降序
            }
        });
        //方法二:User对象实现Comparable接口
        //Collections.sort(list);
        
        for (int i = 0; i<list.size(); i++) {
            User user=list.get(i);
            System.out.println(user.getAge()+"	"+user.getName());
        }
    }

    public class User implements Comparable<User>{
        private Integer age;//比较字段类型必须是Integer
        private String name;
        public User(){}
        
        public User(Integer age,String name){
            this.age=age;
            this.name=name;
        }
        public Integer getAge() {
            return age;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int compareTo(User arg0) {  
            return this.getAge().compareTo(arg0.getAge());  
        }  
    }
}
原文地址:https://www.cnblogs.com/zhaojinhui/p/5531541.html