ArrayList中的数据排序--java对象排序
2006-12-11 14:33
393 查看
常常遇到数组排序的问题.比如我有一个Person类,它的实例对象存储在ArrayList数组中,现在要把ArrayList数组中的Person对象按照年龄排序.
其实这种情况经常遇到.
下面给出源代码:
1:Person.java文件:-------------------------------
public class Person{
String name;
int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2:Mycomparator.java-------------------------------
//实现Comparator接口,也就是定义排序规则,你几乎可以定义任何规则
package com.infoearth;
import java.util.*;
public class Mycomparator implements Comparator{
public int compare(Object o1,Object o2) {
Person p1=(Person)o1;
Person p2=(Person)o2;
if(p1.age<p2.age)
return 1;
else
return 0;
}
}
3:ListSort.java------------------------------------
package com.infoearth;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class ListSort {
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add(new Person("lcl",28));
list.add(new Person("fx",23));
list.add(new Person("wqx",29));
Comparator comp = new Mycomparator();
Collections.sort(list,comp);
for(int i = 0;i<list.size();i++){
Person p = (Person)list.get(i);
System.out.println(p.getName());
}
}
}
特此存档,也希望对兄弟们有帮助.
其实这种情况经常遇到.
下面给出源代码:
1:Person.java文件:-------------------------------
public class Person{
String name;
int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2:Mycomparator.java-------------------------------
//实现Comparator接口,也就是定义排序规则,你几乎可以定义任何规则
package com.infoearth;
import java.util.*;
public class Mycomparator implements Comparator{
public int compare(Object o1,Object o2) {
Person p1=(Person)o1;
Person p2=(Person)o2;
if(p1.age<p2.age)
return 1;
else
return 0;
}
}
3:ListSort.java------------------------------------
package com.infoearth;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class ListSort {
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add(new Person("lcl",28));
list.add(new Person("fx",23));
list.add(new Person("wqx",29));
Comparator comp = new Mycomparator();
Collections.sort(list,comp);
for(int i = 0;i<list.size();i++){
Person p = (Person)list.get(i);
System.out.println(p.getName());
}
}
}
特此存档,也希望对兄弟们有帮助.
相关文章推荐
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- java ArrayList数据对象按排序值大小排序
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- ArrayList中的数据排序--java对象排序
- java如何对ArrayList中对象按照该对象某属性排序
- JAVA 用ArrayList对对象中某属性排序
- JAVA如何对ArrayList中对象按照该对象某属性排序(实例)
- java实现ArrayList根据存储对象排序功能示例
- java ArrayList根据存储对象排序
- Java基础知识强化之集合框架笔记69:Collections类之ArrayList存储自自定义对象并排序的案例
- java对ArrayList中对象按照自定义规则排序
- java如何对ArrayList中对象按照该对象某属性排序
- JAVA 用ArrayList对对象中某属性排序
- java例程练习(对象类型数据的排序)
- java List Collections.sort 排序 支持 对象属性 普通数据类型
- 使用Java中的ArrayList给所存对象排序问题