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***()
方法·,該方法可以將指定集合包裝成執行緒同步的集合,從而解決多執行緒併發訪問集合時的執行緒安全問題。
我們知道hashset
,treeset
,arraylist
,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 該方法使用到了可變引數,即定義時並不知道要傳入多少個實際引數。此時定義成...