☆藍色夢想☆

          世界總是反反覆覆錯錯落落地飄去 來不及嘆息 生活不是平平淡淡從從容容的東西 不能放棄
          posts - 57, comments - 5, trackbacks - 0, articles - 0

          充分利用java.util.Collections類

          Posted on 2006-05-24 23:30 ☆藍色夢想☆ 閱讀(530) 評論(0)  編輯  收藏 所屬分類: J2SE
          java.util.Collections類包含很多有用的方法,可以使程序員的工作變得更加容易,但是這些方法通常都沒有被充分地利用。這一篇文章將通過一些方法的范例化,使讀者了解這些方法帶來的方便。
          Click here to find out more!

          Javadoc給出Collections類最完整的描述:“這一個類包含可以操作或返回集合的專用靜態類。”

          使用copy方法可以將一個java.util.List復制到其他:

          Collections.copy(newList, sourceList);

          如果你需要使一個列表隨機化,可以調用shuffle方法:

          shuffle(list);

          這一方法可以記錄列表中的內容。如果你想返回隨機列表的來源處,可以調用它的sibling方法:

          shuffle(List list, Random random)

          如果你需要建立一個不能更改的集合,可以使用unmodifiableCollection(Collection c)方法。這一方法包含sibling方法,sibling方法可以處理特定類型的Set, List, 和Map。對于Set和Map,你可以通過使用一些sorted方法來獲得結果對象的排序。

          List newList = Collections.unmodifiableList(myList);

          如果你是在編寫需要Enumeration對象操作方面的代碼,可以充分利用enumeration方法:

          Enumeration e = Collections.enumeration(collection);

          當你想使用一個簡單對象來代替多個對象的時候,請使用fill(List list, Object obj)方法。

          其他的,當你需要具有相同對象的多個引用的列表時,可以使用nCopies(int n, Object o)方法。

          當你需要在其他列表中查找一個列表的位置時,請使用indexOfSubList(List source, List target)或者lastIndexOfSubList(List source, List target)方法。如果目標列表存在于其他列表中,這一方法將返回包含列表起始位置的索引。如果在列表中無法找到目標列表,這兩種方法都返回-1。

          如果你需要使一個列表的排序相反化(反序),則可以調用reverse方法,這一方法可以使列表現有元素的序號重新排序。

          正如你所看到的,collections類包含很多方法。也許你很少使用到某些方法,但你可以會經常使用到其中的一些。

          同樣,也存在三種空的集合域。EMPTY_LIST, EMPTY_MAP, 和EMPTY_SET可以幫助你避免不必要的對象生成,特別是當返回數據的空集合的時候。例如:

          public List getData(Criteria c) {
          ??...
          ??
          ??if ( noData ) {
          ??????return Collections.EMPTY_LIST;
          ??}
          ??
          ??// otherwise
          ??// gather and return data

          ??...?
          }

          你可以建立一個沒有元素的列表,但是當可以避免建立對象的時候最好不要建立對象。

          主站蜘蛛池模板: 额尔古纳市| 美姑县| 通渭县| 华宁县| 二连浩特市| 酉阳| 河北省| 平泉县| 景东| 南岸区| 石棉县| 清丰县| 乌拉特后旗| 宜兰市| 武鸣县| 朝阳市| 桂林市| 汉阴县| 广丰县| 泸水县| 高清| 郸城县| 宝鸡市| 汽车| 铁岭市| 莱西市| 惠东县| 南充市| 天峻县| 清原| 蒲城县| 曲周县| 衡水市| 文水县| 涿鹿县| 壤塘县| 荔浦县| 徐州市| 留坝县| 色达县| 霍山县|