您的位置:首页 > 其它

list集合进行排序

2016-02-16 09:13 295 查看
实现compartable接口或者实现compartor编写比较规则类,看代码

-------POJO类

public class Students implements Comparable<Object> {

private String name;

private String sex;

private String age;

public Students(String name, String sex, String age) {

super();

this.name = name;

this.sex = sex;

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

@Override

public int compareTo(Object o) {

Students ss = (Students) o;

if (Long.valueOf(ss.age) > Long.valueOf(this.age)) {

return 1;

} else if (Long.valueOf(ss.age) < Long.valueOf(this.age)) {

return -1;

} else {

return 0;

}

}

}

----验证规则类

import java.util.Comparator;

public class MyComparator implements Comparator<Object>{

@Override

public int compare(Object o1, Object o2) {

Students s1=(Students) o1;

Students s2=(Students) o2;

Long s1Age=Long.valueOf(s1.getAge());

Long s2Age=Long.valueOf(s2.getAge());

if(s1Age<s2Age){

return -1;



}else{

return 1;

}

}

}

--测试

import java.util.ArrayList;

import java.util.Collections;

import java.util.Comparator;

import java.util.List;

public class ListTest {

public static void main(String[] args) {

List<Students> list=new ArrayList<Students>();

list.add(new Students("西施","女","12"));

list.add(new Students("李猛","男","22"));

list.add(new Students("李明","男","11"));

list.add(new Students("刘柳","女","33"));

list.add(new Students("李梅","女","31"));

//根据学生的年龄来排序

Comparator comps=new MyComparator();

Collections.sort(list, comps);

for (Students students : list) {

System.err.println(">>创建比较规则类实现compartor接口,升序排序之后>>"+students.getName()+">>>>"+students.getSex()+">>"+students.getAge());

}







Collections.sort(list);

for (Students students : list) {

System.out.println(">>利用compartable接口,降序排序之后>>"+students.getName()+">>>>"+students.getSex()+">>"+students.getAge());

}

}

}

--结果

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