隨筆-94  評論-56  文章-3  trackbacks-0

          假設(shè)List myList 中存放了n個數(shù)據(jù)對象,每個數(shù)據(jù)對象包含m個屬性?,F(xiàn)在要將這n個數(shù)據(jù)對象按照某一個或幾個屬性值重新排序,得到排序后的List。為此,可以利用java中的TreeMap來方便地實(shí)現(xiàn)。
          再具體一些,假設(shè)這n個數(shù)據(jù)對象類型為MyEntity, 其中有A, B, C, D, E五個屬性,現(xiàn)要依次按照A,  E, B的升序來排序。

          //排序
          Map map = sortMyEntity(myList);
          //得到排序后的List
          myList = convertMapToList(map);

          /**
           *sortMyEntity方法的實(shí)現(xiàn)
           */
          public Map sortMyEntity(List myList) {
              Map sortMap = new TreeMap();
              for (int i = 0; i < myList.size(); i++) {
                  MyEntity entity = (MyEntity)myList.get(i);
                  String key = entity.getA().toString() + ":" + entity.getE().toString() + ":" + entity.getB().toString();
                  sortMap.put(key, entity);
              }
              return sortMap;
          }


          /**
           *將排序后的Map轉(zhuǎn)換回List
           */
          public List convertMapToList(Map sortMap) {
              List resultList = new ArrayList();
              Iterator itKey = sortMap.keySet().iterator();
              while (itKey.hasNext()) {
                  String key = (String)itKey.next();
                  MyEntity entity = (MyEntity)sortMap.get(key);
                  resultList.add(entity);
              }
              return resultList;
          }
          posted on 2007-11-29 15:40 小言身寸 閱讀(2879) 評論(0)  編輯  收藏 所屬分類: JAVA相關(guān)技術(shù)
          主站蜘蛛池模板: 绥芬河市| 葵青区| 陆川县| 都兰县| 和林格尔县| 仙居县| 百色市| 博白县| 察隅县| 镇安县| 贺兰县| 乐安县| 天水市| 喜德县| 逊克县| 关岭| 股票| 微山县| 高碑店市| 绥德县| 苏尼特左旗| 尼勒克县| 汝阳县| 琼海市| 满洲里市| 沅陵县| 仁布县| 通州市| 温州市| 凌云县| 兴业县| 镇远县| 成都市| 嵩明县| 浦北县| 寻乌县| 普宁市| 邻水| 弋阳县| 和龙市| 呼伦贝尔市|