关于list内部排序有关问题?就是那么奇怪呀!
阅读
list数据如下:
- Java code
BillTree aa = new BillTree(); aa.setBillItemTypeID("-100"); aa.setBillParentID("-1"); aa.setPrintOrder("99999"); aa.setBillItemName("移动电话"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010020"); aa.setBillParentID("-100"); aa.setPrintOrder("20"); aa.setBillItemName("套餐月基本费"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010015"); aa.setBillParentID("1001021"); aa.setPrintOrder("24"); aa.setBillItemName("代收费"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1001001"); aa.setBillParentID("-100"); aa.setPrintOrder("3"); aa.setBillItemName("语音"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010021"); aa.setBillParentID("-100"); aa.setPrintOrder("22"); aa.setBillItemName("套餐外费用"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1000010"); aa.setBillParentID("1001001"); aa.setPrintOrder("7"); aa.setBillItemName("特服费"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010006"); aa.setBillParentID("1001021"); aa.setPrintOrder("15"); aa.setBillItemName("短信费"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010010"); aa.setBillParentID("1001021"); aa.setPrintOrder("19"); aa.setBillItemName("特服费"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010022"); aa.setBillParentID("-100"); aa.setPrintOrder("21"); aa.setBillItemName("可选包费用"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010013"); aa.setBillParentID("1001021"); aa.setPrintOrder("22"); aa.setBillItemName("综合服务信息费"); list.add(aa); aa = new BillTree(); aa.setBillItemTypeID("1010023"); aa.setBillParentID("1001021"); aa.setPrintOrder("29"); aa.setBillItemName("承诺消费补差"); list.add(aa);
想将id=-1的放到第一位 ParentID=-100的排第二位 PrintOrder是相同的父节点排序用的 如果有对象的父节点是这个对象的话 要放到这个下面
最后的结果要像如下:
- Java code
第1个 ----test.lId=-100 ----test.lParentId=-1 ----test.lPrintID=99999 ----test.lPrintID=移动电话 第2个 ----test.lId=1001001 ----test.lParentId=-100 ----test.lPrintID=3 ----test.lPrintID=语音 第3个 ----test.lId=1000010 ----test.lParentId=1001001 ----test.lPrintID=7 ----test.lPrintID=特服费 第4个 ----test.lId=1010020 ----test.lParentId=-100 ----test.lPrintID=20 ----test.lPrintID=套餐月基本费 第5个 ----test.lId=1010022 ----test.lParentId=-100 ----test.lPrintID=21 ----test.lPrintID=可选包费用 第6个 ----test.lId=1010021 ----test.lParentId=-100 ----test.lPrintID=22 ----test.lPrintID=套餐外费用 第7个 ----test.lId=1010015 ----test.lParentId=1001021 ----test.lPrintID=24 ----test.lPrintID=代收费 第8个 ----test.lId=1010010 ----test.lParentId=1001021 ----test.lPrintID=19 ----test.lPrintID=特服费 第9个 ----test.lId=1010006 ----test.lParentId=1001021 ----test.lPrintID=15 ----test.lPrintID=短信费 第10个 ----test.lId=1010023 ----test.lParentId=1001021 ----test.lPrintID=29 ----test.lPrintID=承诺消费补差 第11个 ----test.lId=1010013 ----test.lParentId=1001021 ----test.lPrintID=22 ----test.lPrintID=综合服务信息费阅读