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

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

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

    posts - 0,  comments - 0,  trackbacks - 0

    Java.util.Collections 類包的學習

    1. 描述:

    1.1 概述

    java.util.Collections 類包含很多有用的方法,可以使程序員的工作變得更加容易,但是這些方法通常都沒有被充分地利用。 Javadoc 給出 Collections 類最完整的描述:“這一個類包含可以操作或返回集合的專用靜態類。

    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 方法可以根據元素的自然順序 對指定列表按升序進行排序 。列表中的所有元素都必須實現 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(list.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

    ?

    8) lastIndexOfSubList

    返回指定源列表中最后一次出現指定目標列表的起始位置

    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

    返回指定源列表中第一次出現指定目標列表的起始位置

    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

    根據指定的距離循環移動指定列表中的元素

    Collections.rotate(list,-1);

    如果是負數,則正向移動,正數則方向移動

    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 2007-06-01 12:05 navy 閱讀(172) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 免费观看午夜在线欧差毛片| 亚洲人成人77777网站| 免费精品国产自产拍在线观看| 亚洲精品国产成人影院| 成人国产精品免费视频| 亚洲美女aⅴ久久久91| 免费无码不卡视频在线观看| 成在线人直播免费视频| 久久精品国产亚洲av麻豆色欲 | 美女被吸屁股免费网站| 亚洲精品无码鲁网中文电影| 91av在线免费视频| 国产精品亚洲AV三区| 亚洲精品乱码久久久久66| 成人免费午夜无码视频 | 18成禁人视频免费网站| 亚洲AV无码一区二区三区电影| 亚洲区小说区图片区QVOD| 成人免费AA片在线观看| eeuss免费天堂影院| 亚洲av永久无码精品天堂久久| 亚洲国产成人久久精品99| 亚洲视频免费在线播放| 国产成人无码精品久久久久免费| 亚洲第一页在线播放| 国产精品亚洲二区在线观看| 黄在线观看www免费看| 成人妇女免费播放久久久| 亚洲精品无码少妇30P| 亚洲精品免费视频| 亚洲成?v人片天堂网无码| 最近中文字幕完整免费视频ww| 深夜福利在线视频免费| 在线精品亚洲一区二区| 亚洲天堂男人天堂| 国产国拍亚洲精品福利 | 免费人成在线观看播放国产| 青草草色A免费观看在线| 国产在线精品观看免费观看| 丁香婷婷亚洲六月综合色| 亚洲va在线va天堂va不卡下载 |