Java集合排序

来源:互联网 发布:淘宝买的游戏厅游戏币 编辑:程序博客网 时间:2024/06/17 14:01
    public static void main(String[] args) {    Dog dog1 = new Dog();    dog1.setName("Dog1");        Dog dog2 = new Dog();    dog2.setName("Dog2");        Dog dog3 = new Dog();    Dog dog4 = null;        List<Dog> dogs = new ArrayList<Dog>();    dogs.add(dog1);    dogs.add(dog2);    dogs.add(dog3);    dogs.add(dog4);            Collections.sort(dogs, new Comparator<Dog>() {// 按名称排序            public int compare(Dog d1, Dog d2) {                String n1 = "";                String n2 = "";                if(d1 !=null && StringUtils.isNotBlank(d1.getName())){                n1 = d1.getName();                }                if(d2 !=null && StringUtils.isNotBlank(d2.getName())){                n2 = d2.getName();                }                //return n1.compareTo(n2);//升序                return n2.compareTo(n1);//降序            }        });                for(Dog dog:dogs){        if(dog == null){        System.out.println("Dog is null");        }else if(dog.getName() == null){        System.out.println("Dog'name is null");        }else {        System.out.println(dog.getName());        }        }    }


输出:

Dog2
Dog1
Dog'name is null
Dog is null


原创粉丝点击