集合 Collections工具

2022-09-18 18:21:12 字數 2825 閱讀 8725

1.定義

collections是集合類的乙個工具類,它提供了一系列靜態方法用於對容器中的元素進行排序和搜尋等一系列操作。

注:collection是乙個集合介面,而collections是乙個有著操作容器的方法的工具類。

2.方法

(1)reverse(list<?> list) :  使list中的資料發生反轉

1  listlist = new arraylist<>();23

for(int i = 0; i<10; i++)

67 system.out.println("反轉前的list中資料順序:");

8system.out.println(list);910

//反轉操作

11collections.reverse(list);

1213 system.out.println("反轉後的list中的資料順序:");

14 system.out.println(list);

經過反轉後的資料為:

反轉前的list中資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

反轉後的list中的資料順序:

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

(2)  shuffle(list<> list) :         混淆list中的資料順序  

1 collections.shuffle(list);

得到的資料為:

混淆前的list中資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

混淆後的list中的資料順序:

[0, 6, 8, 2, 5, 9, 1, 3, 7, 4]

(3)sort(list<> list) :      將list中的資料進行排序,使用sort方法可以根據元素的自然順序 對指定列表按公升序進行排序。列表中的所有元素都必須實現 comparable 介面。此列表內的所有元素都必須是使用指定比較器可相互比較的。當然,我們也可以選擇自己構建比較器,來將列表中的元素自己進行排序——>sort(list<> list,comparator c)  

1  collections.sort(list);

我們將上面混淆後的資料再排序後得到的資料:

list中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

混淆後的list中的資料順序:

[2, 3, 5, 7, 1, 0, 8, 9, 4, 6]

排序後的list中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

(4)swap(list<> list, int i, int j)  :   將list中  下標為 i 的資料  與  下標為 j 的資料 進行位置交換

1 collections.swap(list,1,6);

得到的資料為:

list中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

交換後的list中的資料順序:

[0, 6, 2, 3, 4, 5, 1, 7, 8, 9]

(5)rotate(list<> list , int i) : 將list中的資料,向右滾動指定長度單位。如果 i 是負數,則向左滾動。

1 collections.rotate(list,2);

2 collections.rotate(list,-2);

得到的資料:

list中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

向右滾動後的list中的資料順序:

[8, 9, 0, 1, 2, 3, 4, 5, 6, 7]

向左滾動後的list中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

(6)fill(list<> list,object o)  : 將list中的全部資料替換為指定的資料o

collections.fill(list,8);

結果:

list中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

替換後的list中的資料順序:

[8, 8, 8, 8, 8, 8, 8, 8, 8, 8]

(7)copy(list<? extends t> dest , list<? extends t> src )  :  用兩個引數,乙個目標 list 和乙個源 list,  將源list的元素拷貝到目標,並覆蓋它的內容。目標 list 至少與源一樣長。如果它更長,則在目標 list 中的剩餘元素不受影響。

collections.copy(dest,src);

結果:

dest中的資料順序:

[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 99, 991]

src中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

替換後的dest中的資料順序:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 99, 991]

collections還有很多方法,如min,max,還有執行緒安全方法等,總之collections是乙個用於操作list集合的工具類,有許多實用的功能。

Collections集合工具集合排序

使用方式 colltctions.方法名 需要操作的集合,引數 colltctions.sort list 預設公升序,想要在自定義中定義排序規則 需要重寫comparable中的compareto方法 override public int compareto person o listlist ...

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...