您的位置:首页 > 编程语言 > Java开发

java Collections对数组排序

2016-08-03 13:14 337 查看
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;
}

   

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: