paulwong

          自定義集合中的排序

          1、先自定義Comparator


          //????對象的比較器,如1.1.1<1.2.1<1.11.1<1.1.1.1
          ????public?final?class?LcsjMapComparator?implements?Comparator
          ????{

          ????????
          ????????
          public?int?compare(Object?arg0,?Object?arg1)?{
          ????????????GdnkVO_Lcsj_Map?vo1
          =(GdnkVO_Lcsj_Map)arg0;
          ????????????GdnkVO_Lcsj_Map?vo2
          =(GdnkVO_Lcsj_Map)arg1;
          ????????????String[]?flowCode1
          =vo1.getFlowCode().trim().split("\\.");
          ????????????String[]?flowCode2
          =vo2.getFlowCode().trim().split("\\.");

          ????????????
          for(int?i=0;i<2;i++)
          ????????????{
          ????????????????
          if(Integer.parseInt(flowCode1[i])<Integer.parseInt(flowCode2[i]))
          ????????????????????
          return?-1;
          ????????????????
          else?if(Integer.parseInt(flowCode1[i])>Integer.parseInt(flowCode2[i]))
          ????????????????????
          return?1;
          ????????????}
          ????????????
          return?0;
          ????????}
          ????????
          ????}????


          compare方法中的對象類型必須是集合中的元素的數據類型。

          排在后面的返回1,排在前面的返回-1,相同順序的返回0。


          2、使用


          Comparator?lcsjComparator=new?LcsjMapComparator();
          Collections.sort(lcsjList,lcsjComparator);


          即可得到排好序的集合。

          posted on 2006-05-19 11:33 paulwong 閱讀(323) 評論(0)  編輯  收藏 所屬分類: J2EE

          主站蜘蛛池模板: 渝中区| 彝良县| 信宜市| 德令哈市| 紫阳县| 黄冈市| 定州市| 洱源县| 四平市| 华容县| 榆林市| 锡林浩特市| 大竹县| 保定市| 武平县| 黄浦区| 定陶县| 南昌县| 兰西县| 乐安县| 大连市| 盐山县| 大新县| 于都县| 普陀区| 盐源县| 金堂县| 苍南县| 鄯善县| 禹州市| 东丰县| 莱阳市| 绥阳县| 白沙| 沙洋县| 新竹市| 治县。| 浦北县| 裕民县| 宝坻区| 林甸县|