hot的学习笔记

我是一只弱小的毛毛虫,想像有一天可以成为强壮的挖土机, 拥有挖掘梦想的神奇手套。。。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  8 随笔 :: 0 文章 :: 1 评论 :: 0 Trackbacks
private List sortFieldListByRowIndex(List fieldList){
  Comparator<DynamicFormField> comparator = new Comparator<DynamicFormField>(){
   public int compare(DynamicFormField f1, DynamicFormField f2) {
     if(f1.getRowIndex()!=f2.getRowIndex()){
         return f1.getRowIndex()-f2.getRowIndex();
      }else if(f1.getColIndex()!=f2.getColIndex()){
       return f1.getColIndex()-f2.getColIndex();
      }else{
       return (int) (f1.getId() - f2.getId());
      }
   }
  };
  Collections.sort(fieldList, comparator);
  return fieldList;
 }
这是工作中 使用过的一个例子。
对fieldList中DynamicFormField对象 先按其rowIndex排序后按colIndex排序
posted on 2009-07-21 14:03 hot 阅读(485) 评论(1)  编辑  收藏 所属分类: java

评论

# re: List按内部存储的object的属性排序 2009-07-22 13:14 逆水深寒
对自己上面的代码补充一下:
要是object 内属性是 int 等 类型 可以f1.getRowIndex()!=f2.getRowIndex()) 这样比较,而要是 属性类型是 String Integer等类型
就要
public int compare(DynamicFormField f1, DynamicFormField f2) {
if(f1.getRowIndex().compareTo(f2.getRowIndex())!=0){
return f1.getRowIndex() - f2.getRowIndex();
}else{
if(f1.getColIndex().compareTo(f2.getColIndex())!=0){
return f1.getColIndex() - f2.getColIndex();
}else{
return (int) (f1.getId() - f2.getId());
}
}
}
这样来判断。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: