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 閱讀(324) 評論(0)  編輯  收藏 所屬分類: J2EE

          主站蜘蛛池模板: 揭阳市| 岑溪市| 谷城县| 乌什县| 宝兴县| 苏尼特右旗| 武宁县| 睢宁县| 象山县| 玛纳斯县| 宜兴市| 江油市| 黎平县| 皋兰县| 清镇市| 桐梓县| 宝兴县| 梁平县| 平江县| 诏安县| 务川| 隆昌县| 古田县| 疏附县| 郸城县| 余干县| 桃园市| 晴隆县| 武汉市| 井陉县| 桂阳县| 兰坪| 昌乐县| 两当县| 阿城市| 宿松县| 漳平市| 宁津县| 璧山县| 眉山市| 富源县|