J2EE 學習

          java struts1、struts2 spring hibernate freemarker ajax fckeditor Mysql MSSQL ORACLE DB2 Websphere jboss
          隨筆 - 11, 文章 - 13, 評論 - 2, 引用 - 0

          導航

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          公告



          該博客主要是為自己平時一些注意點的記錄。努力中,學習中......

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案(11)

          文章分類(12)

          文章檔案(13)

          收藏夾(1)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          java中集合 Collection 類學習 總結


          java中有個java.util.Collections集合類,
          public class Collections
          extends Object

          此類完全由在 collection 上進行操作或返回 collection 的靜態方法組成。它包含在 collection 上操作的多態算法,即“包裝器”,包裝器返回由指定 collection 支持的新 collection,以及少數其他內容。

          如果為此類的方法所提供的 collection 或類對象為 null,則這些方法都會拋出 NullPointerException

          1.概述
          ? ? java.util.Collections 中有很多有用的方法:排序,混排,反轉,替換,拷貝,返回最小元素,返回最大元素等等。
          2.具體操作:
          ??1) 排序(Sort)
          使用sort方法可以根據元素的自然順序 對指定列表按升序進行排序。列表中的所有元素都必須實現 Comparable 接口。此列表內的所有元素都必須是使用指定比較器可相互比較的
          double array[] = {112, 111, 23, 456, 231 };
          for (int i = 0; i < array.length; i++) {
          list.add(new Double(array[i]));
          }
          Collections.sort(list);
          for (int i = 0; i < array.length; i++) {
          ?? System.out.println(li.get(i));
          }?
          //結果:112,111,23,456,231
          2) 混排(Shuffling)
          混排算法所做的正好與 sort 相反: 它打亂在一個 List 中可能有的任何排列的蹤跡。也就是說,基于隨機源的輸入重排該 List, 這樣的排列具有相同的可能性(假設隨機源是公正的)。這個算法在實現一個碰運氣的游戲中是非常有用的。例如,它可被用來混排代表一副牌的 Card 對象的一個 List 。另外,在生成測試案例時,它也是十分有用的。
          Collections.Shuffling(list)
          double array[] = {112, 111, 23, 456, 231 };
          for (int i = 0; i < array.length; i++) {
          list.add(new Double(array[i]));
          }
          Collections.shuffle(list);
          for (int i = 0; i < array.length; i++) {
          ?? System.out.println(li.get(i));
          }
          //結果:112,111,23,456,231
          3) 反轉(Reverse)
          ?????? 使用Reverse方法可以根據元素的自然順序 對指定列表按降序進行排
          序。
          Collections.reverse(list)
          double array[] = {112, 111, 23, 456, 231 };
          for (int i = 0; i < array.length; i++) {
          list.add(new Double(array[i]));
          }
          Collections. reverse (list);
          for (int i = 0; i < array.length; i++) {
          ?? System.out.println(li.get(i));
          }
          //結果:231,456,23,111,112
          4) 替換所以的元素(Fill)
          使用指定元素替換指定列表中的所有元素。
          String str[] = {"dd","aa","bb","cc","ee"};
          for(int j=0;j<str.length;j++){
          li.add(new String(str[j]));
          }
          Collections.fill(li,"aaa");
          for (int i = 0; i < li.size(); i++) {
          System.out.println("list[" + i + "]=" + li.get(i));

          }
          //結果:aaa,aaa,aaa,aaa,aaa

          5) 拷貝(Copy)
          用兩個參數,一個目標 List 和一個源 List, 將源的元素拷貝到目標,并覆蓋它的內容。目標 List 至少與源一樣長。如果它更長,則在目標 List 中的剩余元素不受影響。
          Collections.copy(list,li): 后面一個參數是目標列表 ,前一個是源列表
          double array[] = {112, 111, 23, 456, 231 };
          List list = new ArrayList();
          List li = new ArrayList();
          for (int i = 0; i < array.length; i++) {
          list.add(new Double(array[i]));
          }
          double arr[] = {1131,333};
          String str[] = {"dd","aa","bb","cc","ee"};
          for(int j=0;j<arr.length;j++){
          li.add(new Double(arr[j]));
          }
          Collections.copy(list,li);
          for (int i = 0; i <list.size(); i++) {
          System.out.println("list[" + i + "]=" + list.get(i));
          }
          //結果:1131,333,23,456,231
          6) 返回Collections中最小元素(min)
          根據指定比較器產生的順序,返回給定 collection 的最小元素。collection 中的所有元素都必須是通過指定比較器可相互比較的
          Collections.min(list)
          double array[] = {112, 111, 23, 456, 231 };
          List list = new ArrayList();
          for (int i = 0; i < array.length; i++) {
          list.add(new Double(array[i]));
          }
          Collections.min(list);
          for (int i = 0; i <list.size(); i++) {
          System.out.println("list[" + i + "]=" + list.get(i));
          }
          //結果:23
          7) 返回Collections中最小元素(max)
          根據指定比較器產生的順序,返回給定 collection 的最大元素。collection 中的所有元素都必須是通過指定比較器可相互比較的
          Collections.max(list)
          double array[] = {112, 111, 23, 456, 231 };
          List list = new ArrayList();
          for (int i = 0; i < array.length; i++) {
          list.add(new Double(array[i]));
          }
          Collections.max(list);
          for (int i = 0; i <list.size(); i++) {
          System.out.println("list[" + i + "]=" + list.get(i));
          }
          //結果:456?
          ??????????

          posted on 2009-07-29 22:10 李峰 閱讀(399) 評論(0)  編輯  收藏 所屬分類: j2se


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 虎林市| 申扎县| 慈溪市| 邻水| 邵东县| 福安市| 鄂托克前旗| 濮阳县| 乌恰县| 陵川县| 南阳市| 治县。| 舟曲县| 宁河县| 图片| 新巴尔虎右旗| 玉林市| 宜川县| 瓮安县| 南川市| 南澳县| 嘉定区| 天津市| 隆子县| 德格县| 阜宁县| 广水市| 陇西县| 晋宁县| 兴化市| 筠连县| 合肥市| 绥阳县| 武义县| 郁南县| 遂宁市| 商洛市| 凤台县| 莒南县| 兴安县| 攀枝花市|