posts - 54,  comments - 1,  trackbacks - 0

          JDK中提供的一個操作集合的工具:Collections,提供集對合對象的基本操作.

          • 復制:

          Collections.copy(List des,List src);

          將src中的元素復制到des中,des必須比src大,并且不能為空,否則出錯.des中比src中多的元素將保持不變.

          • 排序:

          static void sort(List elements)

          static void sort(List elements, Comparator c)

          Comparator 是一個排序器,可自定義的排序的方式(升,降)和比較值,如果不加此參數則按照升序(asc)對簡單集合進行排序:Comparator.compare()對集合中相鄰的兩個元素進行比較,返回負數升序,正數降序.0不交換.

          [例子]

          class SortObj {
           
          int i;

           String name;

           
          public SortObj(int i, String name) {
            
          this.i = i;
            
          this.name = name;
           }

          }


          public class SortCollection {
           
          public static void main(String[] args) {
            List list1 
          = new ArrayList();

            list1.add(
          new SortObj(5"name1"));
            list1.add(
          new SortObj(3"name3"));
            list1.add(
          new SortObj(1"name5"));
            list1.add(
          new SortObj(4"name2"));
            list1.add(
          new SortObj(2"name4"));

            System.
          out.println("排序前: ");
            
          for (int i = 0; i < list1.size(); i++{
             SortObj obj 
          = (SortObj) list1.get(i);
             System.
          out.println(obj.i + " " + obj.name);
            }

            Collections.sort(list1, 
          new Comparator() {
             
          public int compare(Object element1, Object element2) {
              SortObj item1 
          = (SortObj) element1;
              SortObj item2 
          = (SortObj) element2;
              
          return item1.name.compareTo(item2.name);
             }

            }
          );
            System.
          out.println("排序后: ");
            
          for (int i = 0; i < list1.size(); i++{
             SortObj obj 
          = (SortObj) list1.get(i);
             System.
          out.println(obj.i + " " + obj.name);
            }


           }

          }


          運行結果:

          排序前:
          5 name1
          3 name3
          1 name5
          4 name2
          2 name4

          排序后:
          5 name1
          4 name2
          3 name3
          2 name4
          1 name5

          • 簡單算法

          static Object min(Collection elements)

          static Object max(Collection elements)

          static Object min(Collection elements, Comparator c)

          static Object max(Collection elements, Comparator c)

          static void copy(List to, List from)

          static void fill(List l, Object value)

          static void replaceAll(List l,Object oldvalue, Object newvalue)

          static int indexOfsubList(List l,List s)

          static int lastingdexOfSubList(List l, List s)

          static void reverse(List l)

          static void rotate(List l, int d)

          posted on 2005-08-22 23:42 ZhuJun 閱讀(219) 評論(0)  編輯  收藏 所屬分類: 開發手記

          蜀中人氏,躬耕于珠海

          <2005年8月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(2)

          隨筆分類(71)

          隨筆檔案(54)

          博客

          文檔

          站點

          論壇

          搜索

          •  

          積分與排名

          • 積分 - 51006
          • 排名 - 976

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 临武县| 花莲县| 宜兴市| 惠州市| 乌海市| 石嘴山市| 潼关县| 博兴县| 临沧市| 康保县| 通道| 朝阳区| 金溪县| 夏津县| 麻江县| 阿合奇县| 商河县| 铜鼓县| 黑山县| 昆山市| 玉树县| 哈密市| 沁阳市| 鄂州市| 平湖市| 温泉县| 广水市| 林甸县| 色达县| 于都县| 洛隆县| 建阳市| 五指山市| 云霄县| 北流市| 涿鹿县| 瓦房店市| 龙川县| 华阴市| 昌平区| 拜城县|