Java中Collection和Collections的區別

一、java.util.Collection 是一個 集合接口(集合類的一個頂級接口)。它提供了對集合對象進行基本操做的通用接口方法。Collection接口在Java 類庫中有不少具體的實現。Collection接口的意義是爲各類具體的集合提供了最大化的統一操做方式,其直接繼承接口有List與Set。
 Collection   
├List   
│├LinkedList   
│├ArrayList   
│└Vector   
│ └Stack   
└Set
二、Collections則是集合類的一個工具類/幫助 類, 其中提供了一系列靜態方法,用於對集合中元素進行排序、搜索以及線程安全等各類操做。
1) 排序(Sort)
使用sort方法能夠根據元素的天然順序 對指定列表按升序進行排序。列表中的全部元素都必須實現 Comparable 接口。此列表內的全部元素都必須是使用指定比較器可相互比較的
1 List<Integer> list = new ArrayList<Integer>();
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  456java

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

Collections.Shuffling(list)安全

3) 反轉(Reverse)
使用Reverse方法能夠根據元素的天然順序 對指定列表按降序進行排序。
Collections.reverse(list)工具

4) 替換因此的元素(Fill)
使用指定元素替換指定列表中的全部元素。測試

Collections.fill(li,"aaa");spa

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

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

7) 返回Collections中最小元素(max)
根據指定比較器產生的順序,返回給定 collection 的最大元素。collection 中的全部元素都必須是經過指定比較器可相互比較的。
Collections.max(list)對象

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

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

10) Rotate根據指定的距離循環移動指定列表中的元素Collections.rotate(list,-1);若是是負數,則正向移動,正數則方向移動

相關文章
相關標籤/搜索