List排序
来源:互联网 发布:知乎空气质量检测仪 编辑:程序博客网 时间:2024/06/05 11:01
1.重写Collections.sort方法;
源码如下:
package com.dayang.common.util;
import java.util.Collections;import java.util.Comparator;
import java.util.List;
import com.dayang.order.basic.hibernate.OrderItem;
import com.dayang.order.basic.hibernate.OrderItemDeleteRecord;
public class SortUtils {
public static void sortList(List list){
Collections.sort(list, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Object[] objarr1=(Object[])o1;
Object[] objarr2=(Object[])o2;
OrderItem item1=null;
OrderItem item2=null;
OrderItemDeleteRecord delItem1=null;
OrderItemDeleteRecord delItem2=null;
if(objarr1.length==3){
item1=(OrderItem)objarr1[0];
}else{
delItem1=(OrderItemDeleteRecord)objarr1[0];
}
if(objarr2.length==3){
item2=(OrderItem)objarr2[0];
}else{
delItem2=(OrderItemDeleteRecord)objarr2[0];
}
if(item1!=null){
if(item2!=null){
if(item1.getGroupId().compareTo(item2.getGroupId())!=0){
return item1.getGroupId().compareTo(item2.getGroupId());
}else{
return item1.getItemIndex().compareTo(item2.getItemIndex());
}
}else {
if(item1.getGroupId().compareTo(delItem2.getGroupId())!=0){
return item1.getGroupId().compareTo(delItem2.getGroupId());
}else{
return item1.getItemIndex().compareTo(delItem2.getItemIndex());
}
}
}else {
if(item2!=null){
if(delItem1.getGroupId().compareTo(item2.getGroupId())!=0){
return delItem1.getGroupId().compareTo(item2.getGroupId());
}else{
return delItem1.getItemIndex().compareTo(item2.getItemIndex());
}
}else{
if(delItem1.getGroupId().compareTo(delItem2.getGroupId())!=0){
return delItem1.getGroupId().compareTo(delItem2.getGroupId());
}else{
return delItem1.getItemIndex().compareTo(delItem2.getItemIndex());
}
}
}
}
});
}
}
0 0
- List排序
- list 排序
- list排序...
- List排序
- List 排序
- List排序
- LIST排序
- list排序
- List 排序
- list排序
- LIST 排序
- List 排序
- List排序
- list排序
- List排序
- List 排序
- List排序
- List排序
- 编写代码中出现乱码的原因
- Vim的操作小技巧
- (java)美团面试之二分查找波谷值
- note:inserNode()、compareBoundaryPoint()
- 表值参数与分割字符串表值函数效率对比
- List排序
- Java中的继承
- 23种设计模式(22)--Iterator模式
- md5加密用户登陆遇到的问题及解决办法
- HTML1
- 面试题3:二维数组中的查找
- Transactional超时时间控制
- 九度 OJ 1064:反序数
- Change Column in MySQL