collections則是集合類的乙個工具類/幫助類,
其中提供了一系列靜態方法,用於對集合中元素進行排序、搜尋以及執行緒安全等各種操作。
1) 排序(sort)
使用sort方法可以根據元素的自然順序 對指定列表按公升序進行排序。列表中的所有元素都必須實現 comparable介面。此列表內的所有元素都必須是使用指定比較器可相互比較的
double array = ;
for (int i = 0; i < array.length; i++)
collections.sort(list);
for (int i = 0; i < array.length; i++)
//結果:112,111,23,456,231
2) 混排(shuffling)
混排演算法所做的正好與 sort 相反: 它打亂在乙個 list 中可能有的任何排列的蹤跡。也就是說,基於隨機源的輸入重排該 list,這樣的排列具有相同的可能性(假設隨機源是公正的)。這個演算法在實現乙個碰運氣的遊戲中是非常有用的。例如,它可被用來混排代表一副牌的card 物件的乙個 list 。另外,在生成測試案例時,它也是十分有用的。
collections.shuffling(list)
double array = ;
for (int i = 0; i < array.length; i++)
collections.shuffle(list);
for (int i = 0; i < array.length; i++)
//結果:112,111,23,456,231
3) 反轉(reverse)
使用reverse方法可以根據元素的自然順序 對指定列表按降序進行排序。
collections.reverse(list)
double array = ;
for (int i = 0; i < array.length; i++)
collections. reverse (list);
for (int i = 0; i < array.length; i++)
//結果:231,456,23,111,112
4) 替換所以的元素(fill)
使用指定元素替換指定列表中的所有元素。
string str = ;
for(int j=0;jcollections.fill(li,"aaa");
for (int i = 0; i < li.size(); i++)
//結果:aaa,aaa,aaa,aaa,aaa
5) 拷貝(copy)
用兩個引數,乙個目標 list 和乙個源 list, 將源的元素拷貝到目標,並覆蓋它的內容。目標 list至少與源一樣長。如果它更長,則在目標 list 中的剩餘元素不受影響。
collections.copy(list,li): 後面乙個引數是目標列表 ,前乙個是源列表
double array = ;
list list = new arraylist();
list li = new arraylist();
for (int i = 0; i < array.length; i++)
double arr = ;
string str = ;
for(int j=0;jcollections.copy(list,li);
for (int i = 0; i //結果:1131,333,23,456,231
6) 返回collections中最小元素(min)
根據指定比較器產生的順序,返回給定 collection 的最小元素。collection中的所有元素都必須是通過指定比較器可相互比較的
collections.min(list)
double array = ;
list list = new arraylist();
for (int i = 0; i < array.length; i++)
collections.min(list);
for (int i = 0; i //結果:23
7) 返回collections中最小元素(max)
根據指定比較器產生的順序,返回給定 collection 的最大元素。collection中的所有元素都必須是通過指定比較器可相互比較的
collections.max(list)
double array = ;
list list = new arraylist();
for (int i = 0; i < array.length; i++)
collections.max(list);
for (int i = 0; i //結果:456
8) lastindexofsublist
返回指定源列表中最後一次出現指定目標列表的起始位置
int count = collections.lastindexofsublist(list,li);
double array = ;
list list = new arraylist();
list li = new arraylist();
for (int i = 0; i < array.length; i++)
double arr = ;
string str = ;
for(int j=0;jint locations = collections. lastindexofsublist (list,li);
system.out.println(「===」+ locations);
//結果 3
9) indexofsublist
返回指定源列表中第一次出現指定目標列表的起始位置
int count = collections.indexofsublist(list,li);
double array = ;
list list = new arraylist();
list li = new arraylist();
for (int i = 0; i < array.length; i++)
double arr = ;
string str = ;
for(int j=0;jint locations = collections.indexofsublist(list,li);
system.out.println(「===」+ locations);
//結果 1
10) rotate
根據指定的距離迴圈移動指定列表中的元素
collections.rotate(list,-1);
如果是負數,則正向移動,正數則方向移動
double array = ;
list list = new arraylist();
for (int i = 0; i < array.length; i++)
collections.rotate(list,-1);
for (int i = 0; i //結果:111,23,456,231,112
Collections工具類小結
collections 是針對集合進行操作的工具類。裡面包含了排序和查詢等方法。collections和 collection 的區別?collections 是針對集合進行操作的工具類,包含了排序和查詢等功能。collection 是單列集合的頂層介面,定義了單列集合的共性功能。collectio...
Collections集合工具類
collections 是針對集合進行操作的工具類,都是靜態方法。collections 中有乙個方法可以一次加入多個元素public static boolean addall collection c,t.elements 該方法使用到了可變引數,即定義時並不知道要傳入多少個實際引數。此時定義成...
Collections集合工具類
collections是集合工具類,用來對集合進行操作。部分方法如下 1 public static void sort listlist 集合元素排序 排序前元素list集合元素 33,11,77,55 collections.sort list 排序後元素list集合元素 11,33,55,77...