package sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sort {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
Student s1 = new Student();
Student s2 = new Student();
Student s3 = new Student();
Student s4 = new Student();
s1.setSocyCd("AA");
s1.setTeamCd("T0001");
s1.setDate("20180101");
s2.setSocyCd("AB");
s2.setTeamCd("T0002");
s2.setDate("20180101");
s3.setSocyCd("AC");
s3.setTeamCd("T0003");
s3.setDate("20180101");
s4.setSocyCd("AD");
s4.setTeamCd("T0004");
s4.setDate("20180101");
list.add(s2);
list.add(s1);
list.add(s4);
list.add(s3);
for (Student student : list) {
System.out.println(student.getSocyCd()+student.getTeamCd()+student.getDate());
}
System.out.println("-----------------");
//for(int i=0;i<10;i++) {
Student mi = new Student();
//}
mi.setSocyCd("AA");
mi.setTeamCd("T0002");
mi.setDate("");
list.add(mi);
SortByKey sb = new SortByKey();
Collections.sort(list, sb);
for (Student student : list) {
//System.out.println(student.getSocyCd());
System.out.println(student.getSocyCd()+student.getTeamCd()+student.getDate());
}
}
}
class SortByKey implements Comparator<Object> {
@Override
public int compare(Object o1, Object o2) {
Student s1 = (Student) o1;
Student s2 = (Student) o2;
if ((s1.getSocyCd()+s1.getTeamCd()).compareTo(s2.getSocyCd()+s2.getTeamCd())>0) {
return 1;
// } else if (s1.getTeamCd().compareTo(s2.getTeamCd())>=0) {
// return 1;
} else if (s1.getDate().compareTo(s2.getDate())==0) {
return 0;
}
return -1;
}
}
class Student{
private String socyCd;
private String teamCd;
private String date;
public String getSocyCd() {
return socyCd;
}
public void setSocyCd(String socyCd) {
this.socyCd = socyCd;
}
public String getTeamCd() {
return teamCd;
}
public void setTeamCd(String teamCd) {
this.teamCd = teamCd;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
}