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);
即可得到排好序的集合。