java Collections对数组排序

来源:互联网 发布:网络系统集成前沿技术 编辑:程序博客网 时间:2024/06/09 20:05
package org.geekworld.webTest;


import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;




/**
 * Hello world!
 *
 */
public class App 
{
    @SuppressWarnings("unchecked")
public static void main( String[] args )
    {
    ArrayList<Person> arrayList = new ArrayList<Person>();
    for (int i = 0; i < 10; i++) {
arrayList.add(new Person("name"+i, 100-i));
}
    Comparator<Person> arg1=new Comparator<Person>() {


@Override
public int compare(Person arg0, Person arg1) {
if(arg0!=null && arg1!=null){
if(arg0.getAge()>arg1.getAge()){
System.out.println("大......");
return 1;//TODO 从大到小排序的话返回-1
}else if(arg0.getAge()<arg1.getAge()){
System.out.println("小......");
return -1;//TODO 从大到小排序的话返回1
}
}
//TODO 维持原样不变
return 0;

}
};
Collections.sort(arrayList, arg1);
for (Person person : arrayList) {
System.out.println(person.getName()+"/"+person.getAge());
}


  //Decending sorted iterator
        String[] strs1 = new String[]{"3","2","5","6","2"};
        //倒序
       // Collections.sort(Arrays.asList(strs1),Collections.reverseOrder());
        //顺序
        Collections.sort(Arrays.asList(strs1));

        for (int i = 0; i < strs1.length; i++) {
            System.out.println(strs1[i]);
        }
    }
    private static class Person{
    private String name;
    private int age;
   
public Person() {
super();
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
   
    }
}
0 0