<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
    關鍵字: Java.util.Collections類包的學習 Java.util.Collections類包的學習
    1. 描述:
    1.1 概述
    java.util.Collections類包含很多有用的方法,可以使程序員的工作變得更加容易,但是這些方法通常都沒有被充分地利用。Javadoc給出Collections類最完整的描述:“這一個類包含可以操作或返回集合的專用靜態(tài)類。
    ” 1.2 所含方法
    Iterator, ArrayList, Elements, Buffer, Map,Collections

    列子:
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;

    public class CollectionsSort {
    public CollectionsSort() {

    }

    public static void main(String[] args) {
    double array[] = {111, 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]));
    //list.add(""+array[i]);
    }
    double arr[] = {111};
    for(int j=0;j<arr.length;j++){
    li.add(new Double(arr[j]));
    }
    }

    2. 具體操作
    1) 排序(Sort)
    使用sort方法可以根據(jù)元素的自然順序 對指定列表按升序進行排序。列表中的所有元素都必須實現(xiàn) Comparable 接口。此列表內(nèi)的所有元素都必須是使用指定比較器可相互比較的
    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, 這樣的排列具有相同的可能性(假設隨機源是公正的)。這個算法在實現(xiàn)一個碰運氣的游戲中是非常有用的。例如,它可被用來混排代表一副牌的 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方法可以根據(jù)元素的自然順序 對指定列表按降序進行排
    序。
    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)
    用兩個參數(shù),一個目標 List 和一個源 List, 將源的元素拷貝到目標,并覆蓋它的內(nèi)容。目標 List 至少與源一樣長。如果它更長,則在目標 List 中的剩余元素不受影響。
    Collections.copy(list,li): 后面一個參數(shù)是目標列表 ,前一個是源列表
    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)
    根據(jù)指定比較器產(chǎn)生的順序,返回給定 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)
    根據(jù)指定比較器產(chǎn)生的順序,返回給定 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
    8) lastIndexOfSubList
    返回指定源列表中最后一次出現(xiàn)指定目標列表的起始位置
    int count = Collections.lastIndexOfSubList(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[] = {111};
    String str[] = {"dd","aa","bb","cc","ee"};
    for(int j=0;j<arr.length;j++){
    li.add(new Double(arr[j]));
    }
    Int locations = Collections. lastIndexOfSubList (list,li);
    System.out.println(“===”+ locations);
    //結果 3
    9) IndexOfSubList
    返回指定源列表中第一次出現(xiàn)指定目標列表的起始位置
    int count = Collections.indexOfSubList(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[] = {111};
    String str[] = {"dd","aa","bb","cc","ee"};
    for(int j=0;j<arr.length;j++){
    li.add(new Double(arr[j]));
    }
    Int locations = Collections.indexOfSubList(list,li);
    System.out.println(“===”+ locations);
    //結果 1
    10) Rotate
    根據(jù)指定的距離循環(huán)移動指定列表中的元素
    Collections.rotate(list,-1);
    如果是負數(shù),則正向移動,正數(shù)則方向移動
    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.rotate(list,-1);
    for (int i = 0; i <list.size(); i++) {
    System.out.println("list[" + i + "]=" + list.get(i));
    }
    //結果:111,23,456,231,112
          
    posted on 2008-11-07 23:12 禮物 閱讀(739) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 中文字幕精品三区无码亚洲 | 久久亚洲2019中文字幕| 九九九国产精品成人免费视频| 中文亚洲成a人片在线观看| 97公开免费视频| 你是我的城池营垒免费看| 久久综合九九亚洲一区| 久久WWW色情成人免费观看| 一道本不卡免费视频| 日韩亚洲Av人人夜夜澡人人爽| 成人性生交大片免费看无遮挡| 国产高潮久久免费观看| 亚洲日本国产乱码va在线观看| 又爽又黄无遮挡高清免费视频| 99精品视频免费| 亚洲综合精品成人| 亚洲精品白浆高清久久久久久| 无码人妻一区二区三区免费| 国产无限免费观看黄网站| 亚洲a∨无码男人的天堂| 国产精品亚洲玖玖玖在线观看| 桃子视频在线观看高清免费完整 | 免费看黄网站在线看| 亚洲黄色免费网址| 亚洲国产精品日韩| 亚色九九九全国免费视频| 中文字幕在线观看免费| 亚洲日韩AV一区二区三区中文| 亚洲AV成人片色在线观看高潮| 国产无遮挡吃胸膜奶免费看| **aaaaa毛片免费同男同女| 国产精品玖玖美女张开腿让男人桶爽免费看 | 7723日本高清完整版免费| 精品国产呦系列在线观看免费| 精品丝袜国产自在线拍亚洲| 亚洲AV午夜成人影院老师机影院 | 在线观看免费人成视频色9| 国产一精品一AV一免费| 免费精品久久久久久中文字幕 | 国产精品亚洲一区二区三区| 91亚洲国产成人久久精品网址|