<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 類包的學(xué)習(xí)

    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(list.get(i)); ?

    }

    // 結(jié)果: 112,111,23,456,231

    ?

    2) 混排( Shuffling

    混排算法所做的正好與 sort 相反 : 它打亂在一個 List 中可能有的任何排列的蹤跡。也就是說,基于隨機源的輸入重排該 List, 這樣的排列具有相同的可能性(假設(shè)隨機源是公正的)。這個算法在實現(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));

    }

    // 結(jié)果: 112,111,23,456,231

    ?

    3) 反轉(zhuǎn) (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));

    }

    // 結(jié)果: 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));

    ?

    }

    // 結(jié)果: aaa,aaa,aaa,aaa,aaa

    ?

    5) 拷貝 (Copy)

    用兩個參數(shù),一個目標(biāo) List 和一個源 List, 將源的元素拷貝到目標(biāo),并覆蓋它的內(nèi)容。目標(biāo) List 至少與源一樣長。如果它更長,則在目標(biāo) List 中的剩余元素不受影響。

    Collections.copy(list,li): 后面一個參數(shù)是目標(biāo)列表 , 前一個是源列表

    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));

    }

    // 結(jié)果: 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));

    }

    // 結(jié)果: 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));

    }

    // 結(jié)果: 456

    ?

    8) lastIndexOfSubList

    返回指定源列表中最后一次出現(xiàn)指定目標(biāo)列表的起始位置

    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);

    // 結(jié)果 3

    ?

    9) IndexOfSubList

    返回指定源列表中第一次出現(xiàn)指定目標(biāo)列表的起始位置

    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);

    // 結(jié)果 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));

    }

    // 結(jié)果: 111,23,456,231,112

    posted on 2007-06-01 12:05 navy 閱讀(172) 評論(0)  編輯  收藏 所屬分類: Java

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 一级免费黄色大片| 91精品国产免费久久久久久青草 | 免费无码AV片在线观看软件| 精品亚洲456在线播放| 亚洲精品国产成人影院| a级毛片免费全部播放| 亚洲六月丁香六月婷婷蜜芽| 亚洲成a人一区二区三区| 8090在线观看免费观看| 久久亚洲精品11p| 亚洲av永久无码精品网站| 毛片网站免费在线观看| a级毛片毛片免费观看永久| 亚洲精品亚洲人成在线播放| 自拍偷自拍亚洲精品第1页| 成人免费大片免费观看网站| 天堂亚洲免费视频| 亚洲国产精品综合久久久| 亚洲国产精品一区二区三区久久| 3344永久在线观看视频免费首页| 男女超爽视频免费播放| 亚洲欧洲精品在线| 亚洲人成无码网站| 免费永久在线观看黄网站| 精品久久8x国产免费观看| 毛片基地看看成人免费| 在线观看国产一区亚洲bd| 亚洲第一页在线观看| 国产成人99久久亚洲综合精品 | 成年男女免费视频网站| 国产一区二区三区免费| 亚洲AV成人无码网站| 亚洲精品无码久久毛片波多野吉衣| 亚洲视频在线免费| 日韩一区二区三区免费体验| 2021国内精品久久久久精免费| 九九全国免费视频| 美女黄频免费网站| 亚洲AV无码精品国产成人| 亚洲成a人片在线观| 亚洲国产精品久久久久久|