1. 程式人生 > >ollection和collections的區別

ollection和collections的區別

Java中Collection和Collections的區別
1、java.util.Collection 是一個集合介面(集合類的一個頂級介面)。它提供了對集合物件進行基本操作的通用介面方法。Collection介面在Java 類庫中有很多具體的實現。Collection介面的意義是為各種具體的集合提供了最大化的統一操作方式,其直接繼承介面有List與Set。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
2、Collections則是集合類的一個工具類/幫助類,其中提供了一系列靜態方法,用於對集合中元素進行排序、搜尋以及執行緒安全等各種操作。

  1. 排序(Sort)
    使用sort方法可以根據元素的自然順序 對指定列表按升序進行排序。列表中的所有元素都必須實現 Comparable 介面。此列表內的所有元素都必須是使用指定比較器可相互比較的
    複製程式碼
    1 List list = new ArrayList();
    2 int array[] = {112, 111, 23, 456, 231 };
    3 for (int i = 0; i < array.length; i++) {
    4 list.add(array[i]);
    5 }
    6 Collections.sort(list);
    7 for (int i = 0; i < array.length; i++) {
    8 System.out.println(list.get(i));
    9 }
    複製程式碼
    結果:23 111 112 231 456

  2. 混排(Shuffling)
    混排演算法所做的正好與 sort 相反: 它打亂在一個 List 中可能有的任何排列的蹤跡。也就是說,基於隨機源的輸入重排該 List, 這樣的排列具有相同的可能性(假設隨機源是公正的)。這個演算法在實現一個碰運氣的遊戲中是非常有用的。例如,它可被用來混排代表一副牌的 Card 物件的一個 List 。另外,在生成測試案例時,它也是十分有用的。

Collections.Shuffling(list)

  1. 反轉(Reverse)
    使用Reverse方法可以根據元素的自然順序 對指定列表按降序進行排序。
    Collections.reverse(list)

  2. 替換所以的元素(Fill)
    使用指定元素替換指定列表中的所有元素。

Collections.fill(li,“aaa”);

  1. 拷貝(Copy)
    用兩個引數,一個目標 List 和一個源 List, 將源的元素拷貝到目標,並覆蓋它的內容。目標 List 至少與源一樣長。如果它更長,則在目標 List 中的剩餘元素不受影響。
    Collections.copy(list,li): 前面一個引數是目標列表 ,後一個是源列表。

  2. 返回Collections中最小元素(min)
    根據指定比較器產生的順序,返回給定 collection 的最小元素。collection 中的所有元素都必須是通過指定比較器可相互比較的。
    Collections.min(list)

  3. 返回Collections中最小元素(max)
    根據指定比較器產生的順序,返回給定 collection 的最大元素。collection 中的所有元素都必須是通過指定比較器可相互比較的。
    Collections.max(list)

  4. lastIndexOfSubList
    返回指定源列表中最後一次出現指定目標列表的起始位置
    int count = Collections.lastIndexOfSubList(list,li);

  5. IndexOfSubList
    返回指定源列表中第一次出現指定目標列表的起始位置
    int count = Collections.indexOfSubList(list,li);

  6. Rotate
    根據指定的距離迴圈移動指定列表中的元素
    Collections.rotate(list,-1);
    如果是負數,則正向移動,正數則方向移動