`
bill_sbia
  • 浏览: 156539 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ArrayList 对象排序实例

 
阅读更多
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;


public class SortTwo implements Comparator {
//排序字段
private String sort1;
//排序方式
private int state;
public SortTwo(int state){
this.state=state;
}
public SortTwo(){

}
public int SortUp(Object o1,Object o2){
Student stu=(Student) o1;
Student stu1=(Student) o2;
if(sort1.equals("name")){
if(stu.getName().compareTo(stu1.getName())>1){
return 1;
} else if(stu.getName().compareTo(stu1.getName())<1){
return -1;
}else{
return 0;
}
}
if(sort1.equals("age")){
if(stu.getAge().compareTo(stu1.getAge())>1){
return 1;
} else if(stu.getAge().compareTo(stu1.getAge())<1){
return -1;
}else{
return 0;
}
}
return 0;
}
public int SortDOWN(Object o1,Object o2){
Student stu=(Student) o1;
Student stu1=(Student) o2;
if(sort1.equals("name")){
if(stu.getName().compareTo(stu1.getName())>1){
return -1;
} else if(stu.getName().compareTo(stu1.getName())<1){
return 1;
}else{
return 0;
}
}
if(sort1.equals("age")){
if(stu.getAge().compareTo(stu1.getAge())>1){
return -1;
} else if(stu.getAge().compareTo(stu1.getAge())<1){
return 1;
}else{
return 0;
}
}
return 0;
}
public int compare(Object o1, Object o2) {

if(this.state==1){
return SortUp(o1, o2);
}else{
return SortDOWN(o1, o2);
}
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu=new Student();
stu.setName("123");
stu.setAge("12");
Student stu1=new Student();
stu1.setName("234");
stu1.setAge("23");
ArrayList<Student>list=new ArrayList<Student>();
list.add(stu);
list.add(stu1);
SortTwo t=new SortTwo(1);
t.sort1="age";
Collections.sort(list,t);
for(Student st : list){
System.out.println(st.getName() +"   "+st.getAge());
}
}

} 
 
分享到:
评论
1 楼 crabdave 2008-05-05  
挺不赖的!
Global site tag (gtag.js) - Google Analytics