ArrayListオブジェクト並べ替えの例
1894 ワード
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());
}
}
}