Collections工具類和Arrays工具類

2021-10-08 05:57:00 字數 2160 閱讀 1328

collections 工具類常用方法:

排序查詢,替換

同步控制(不推薦,需要執行緒安全的集合型別時請考慮使用 juc 包下的併發集合)

1. 排序

void reverse(list list)//反轉

void shuffle(list list)//隨機排序

void sort(list list)//按自然排序的公升序排序

void sort(list list, comparator c)//定製排序,由comparator控制排序邏輯

void swap(list list, int i , int j)//交換兩個索引位置的元素

void rotate(list list, int distance)//旋轉。當distance為正數時,將list後distance個元素整體移到前面。當distance為負數時,將 list的前distance個元素整體移到後面

2. 查詢、替換
int binarysearch(list list, object key)//對list進行二分查詢,返回索引,注意list必須是有序的

int max(collection coll)//根據元素的自然順序,返回最大的元素。 模擬int min(collection coll)

int max(collection coll, comparator c)//根據定製排序,返回最大元素,排序規則由comparatator類控制。模擬int min(collection coll, comparator c)

void fill(list list, object obj)//用指定的元素代替指定list中的所有元素。

int frequency(collection c, object o)//統計元素出現次數

int indexofsublist(list list, list target)//統計target在list中第一次出現的索引,找不到則返回-1,模擬int lastindexofsublist(list source, list target).

boolean replaceall(list list, object oldval, object newval)//用新元素替換舊元素

3. 同步控制

collections提供了多個synchronized***()方法·,該方法可以將指定集合包裝成執行緒同步的集合,從而解決多執行緒併發訪問集合時的執行緒安全問題。

我們知道hashsettreesetarraylist,linkedlist,hashmap,treemap都是執行緒不安全的。collections提供了多個靜態方法可以把他們包裝成執行緒同步的集合。

最好不要用下面這些方法,效率非常低,需要執行緒安全的集合型別時請考慮使用 juc 包下的併發集合。

方法如下:

synchronizedcollection(collectionc) //返回指定 collection 支援的同步(執行緒安全的)collection。

synchronizedlist(listlist)//返回指定列表支援的同步(執行緒安全的)list。

synchronizedmap(mapm) //返回由指定對映支援的同步(執行緒安全的)map。

synchronizedset(sets) //返回指定 set 支援的同步(執行緒安全的)set。

list aslist(t... a)	//返回由指定陣列支援的固定大小的列表

void sort(int a) //按照數字順序排列指定的陣列

int binarysearch(object a, object key) //使用二叉搜尋演算法搜尋指定物件的指定陣列

copyof(t original, int newlength) //複製陣列,指定長度

copyofrange(int original, int from, int to) //將指定陣列的指定範圍複製到新陣列中

void fill(object a, object val) //將指定的物件引用分配給指定的物件陣列的每個元素

Collections工具類 幫助類

collections則是集合類的乙個工具類 幫助類,其中提供了一系列靜態方法,用於對集合中元素進行排序 搜尋以及執行緒安全等各種操作。1 排序 sort 使用sort方法可以根據元素的自然順序 對指定列表按公升序進行排序。列表中的所有元素都必須實現 comparable介面。此列表內的所有元素都必...

Collections工具類小結

collections 是針對集合進行操作的工具類。裡面包含了排序和查詢等方法。collections和 collection 的區別?collections 是針對集合進行操作的工具類,包含了排序和查詢等功能。collection 是單列集合的頂層介面,定義了單列集合的共性功能。collectio...

Collections集合工具類

collections 是針對集合進行操作的工具類,都是靜態方法。collections 中有乙個方法可以一次加入多個元素public static boolean addall collection c,t.elements 該方法使用到了可變引數,即定義時並不知道要傳入多少個實際引數。此時定義成...