zoukankan      html  css  js  c++  java
  • 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());  
            }  
        }
    }
  • 相关阅读:
    PAT 甲级 1128 N Queens Puzzle
    HDU 1995 R-汉诺塔V
    PAT L1-039 古风排版
    PAT L2-028 秀恩爱分得快
    ZOJ 2060 A-Fibonacci Again
    HDU 2079 选课时间
    HDU 1016 Prime Ring Problem
    理论相关概念原理
    单播字符、字符串收发
    OSAL的原理
  • 原文地址:https://www.cnblogs.com/zhaojinhui/p/5531541.html
Copyright © 2011-2022 走看看