Java custom ArrayList sorting, skipped
There are two types of objects in a list. Now there is a need to sort the dates of different objects. below is the code
/**
* @ Author Xiaohua xh1991101@163.com
*/
List Messages = messageSrv. getList (u. getUserId ());
List MessageList = new ArrayList();
For (Object o: messages ){
MessageList. add (o );
}
For (Object o: checks ){
MessageList. add (o );
}
Collections. sort (messageList, new Comparator (){
Public int compare (Object o1, Object o2 ){
If (o1 instanceof Message & o2 instanceof Message ){
Message m = (Message) o1;
Message m2 = (Message) o2;
If (m. getMessageDate (). after (m2.getMessageDate ()))
Return 1;
If (m. getMessageDate (). equals (m2.getMessageDate ()))
Return 0;
If (m. getMessageDate (). before (m2.getMessageDate ()))
Return-1;
} Else if (o1 instanceof CheckRecord & o2 instanceof Message ){
CheckRecord m = (CheckRecord) o1;
Message m2 = (Message) o2;
If (m. getCdate (). after (m2.getMessageDate ()))
Return 1;
If (m. getCdate (). equals (m2.getMessageDate ()))
Return 0;
If (m. getCdate (). before (m2.getMessageDate ()))
Return-1;
} Else if (o1 instanceof CheckRecord & o2 instanceof CheckRecord ){
CheckRecord m = (CheckRecord) o1;
CheckRecord m2 = (CheckRecord) o2;
If (m. getCdate (). after (m2.getCdate ()))
Return 1;
If (m. getCdate (). equals (m2.getCdate ()))
Return 0;
If (m. getCdate (). before (m2.getCdate ()))
Return-1;
} Else if (o1 instanceof Message & o2 instanceof CheckRecord ){
Message m = (Message) o1;
CheckRecord m2 = (CheckRecord) o2;
If (m. getMessageDate (). after (m2.getCdate ()))
Return 1;
If (m. getMessageDate (). equals (m2.getCdate ()))
Return 0;
If (m. getMessageDate (). before (m2.getCdate ()))
Return-1;
}
Return 0;
}
It is not easy to write a log, reprinted please indicate the source: http://blog.csdn.net/xh199110 Thank you