java 中的Collections集合工具類

2021-06-29 08:24:22 字數 2219 閱讀 4050

collections此類完全由在 collection 上進行操作或返回 collection 的靜態方法組成。它包含在 collection 上操作的多型演算法,即「包裝器」,包裝器返回由指定 collection 支援的新 collection,以及少數其他內容。

常用方法:

1、sort方法

public static > void sort(listlist)//此方法接收乙個list集合,集合裡的元素必須具備可比性
public static voidsort(list

list, comparator

<? super t> c)//此方法接收乙個list集合,和乙個比較器,用於集合元素的比較

示:
arraylistlist = new arraylist();//建立乙個arraylist集合

//填充值

list.add("aaa");

list.add("ccc");

list.add("bbb");

collections.sort(list);//排序

//列印

for(string s:list)

結果為:aaa bbb ccc
定義乙個按字元長度排序的比較器:

class mycomparator implements comparator

return num;

}}

使用此比較器:

arraylistlist1 = new arraylist();// 建立乙個arraylist集合

// 填充值

list1.add("aaaa");

list1.add("ccc");

list1.add("bb");

collections.sort(list1,new mycomparator());// 排序

// 列印

for (string s : list1)

列印為 :bb ccc aaaa
2、binarysearch

使用二分搜尋法搜尋指定列表,以獲得指定物件。在進行此呼叫之前,必須根據列表元素的

自然順序對列表進行公升序排序(通過

sort(list)方法)。如果沒有對列表進行排序,則結果是不確定的。如果列表包含多個等於指定物件的元素,則無法保證找到的是哪乙個。 

public static intbinarysearch(list

<? extends comparable

<? super t>> list, t key)

引數1、list集合

引數2、要查的key

3、reverseorder()方法          返回乙個比較器,它強行逆轉實現了 comparable 介面的物件 collection 的自然順序。

4、fill(list<? super t> list, t obj)使用指定元素替換指定列表中的所有元素。

5、replaceall(listlist, t oldval, t newval)使用另乙個值替換列表中出現的所有某一指定值。

arraylistlist1 = new arraylist();// 建立乙個arraylist集合

// 填充值

list1.add("aaaa");

list1.add("ccc");

list1.add("bb");

collections.replaceall(list1,"bb","dd");// 排序

6、synchronizedlist(listlist)

返回指定列表支援的同步(執行緒安全的)列表(list集合是不同步的,高效)

7、shuffle(list<?> list)

使用預設隨機源對指定列表進行置換。(打亂list集合裡面的元素)

Collectio中的Set介面

set介面 儲存無序的,不可重複的元素。set中常用的方法都是collection下定義的。主要包括hashset linkedhashset和treeset。往set中新增元素的時候,首先計算這個元素的雜湊值,根據這個雜湊值來決定儲存在記憶體的哪個位置上。如果這個位置上已經儲存了其他元素,及根據e...

solr 建立指定路由的collection

1.登入solr其中乙個例項所在的主機 2.生成配置檔案 solrctl instancedir generate home solr configs 修改solrconfig.xml 和 schema.xml 3.上傳配置到zk solrctl instancedir create home so...

java中的演算法

第一種 迴圈 for int x 1 x 500 x 第二種 bigdecimal double x 0 double y 0 bigdecimal xbig new bigdecimal x bigdecimal ybig new bigdecimal y bigdecimal result ne...