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());
}
}
}
--结果
-------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());
}
}
}
--结果
相关文章推荐
- 基于HttpListener的web服务器
- XML处理-1
- 使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
- PHPCMS 修改后台路径简便方法
- futimens, utimensat, and utimes Functions
- Xcode 此证书签发者无效
- select、poll与epoll
- 春节过后上班激励人的经典名人名言
- Linux 磁盘空间操作
- Git学习笔记(撤消修改)
- 【HDOJ】4358 Boring counting
- Android面试题收集
- c# 数据类型
- Maven + Eclipse + Android 环境搭建
- GIS开源
- Eclipse Java EE透视图下看不见Referenced Libraries解决办法
- 文件IO(标准IO缓冲区)
- 关于coursera上Learning How to Learn课程的读书笔记2
- http://www.yihaomen.com/article/java/302.htm
- 即将到来的Android N,将具备这些新特性