首頁  >  文章  >  Java  >  Java-collections用法程式碼範例總結

Java-collections用法程式碼範例總結

黄舟
黄舟原創
2017-03-15 11:57:481442瀏覽

紙上得來終覺淺,絕知此事要躬行 --陸遊   問渠那得清如許,為有源頭活水來 --朱熹


#類別Collections是一個包裝類。它包含有各種有關集合運算的靜態態方法。這類不能實例化,就像一個工具類別,服務於Java的Collection框架

java.lang.Object
        java.util.Collections

#Collections中常用的方法:

##( 1)sort()排序方法

        函數##        函數定義:p#ublic static 99b6e1067329b248ca3923df3f3221a1> void sort#(List8742468051c85b06f0a0af9e3e506b5c list)# 根

根據元素的

        自然順序將指定清單依升序排序。

        參數:要排序的清單。         函數定義:

 

public static 8742468051c85b06f0a0af9e3e506b5c void sort(List8742468051c85b06f0a0af9e3e506b5c list,Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e c),根據指定比較器產生的順序對指定清單進行排序。此清單內的所有元素都必須可使用指定比較器相互比較。

        參數:list-要排序的清單;c-決定清單順序的比較器。 (2)binarySearch()

二分查找

方法##        函數定義:public static 8742468051c85b06f0a0af9e3e506b5c int binarySearch (List list,T key

)######

        使用二分搜尋法搜尋指定列表,以獲得指定物件,在進行此方法呼叫前比較要將列表元素依照升序排序,否則結果不確定,此方法會執行O(n)次連結遍歷和O(log n)次元素比較。

        參數: list-要搜尋的鍊錶,key-要搜尋的鍵。

        函數定義: public static 8742468051c85b06f0a0af9e3e506b5c int binarySearch(Listd203bb1ae585225d4838a2b7e3d0503e list, #T key, Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e c) 依照指定的比較器將清單升序排序。

        參數:list-要搜尋的列表,key-要搜尋的鍵,c-排序列表的比較器。

(3)reverse()反轉方法

         函#數定義:public static void reverse(List6b3d0130bba23ae47fe2b8e8cddf0195 list),反轉指定清單中元素的順序,此方法以線性時間執行。

        參數:list-元素要被反轉的清單

(4) shuffle()重組方法

       #public static void shuffle(List6b3d0130bba23ae47fe2b8e8cddf0195 list),使用預設隨機來源對指定清單進行置換,所有置換發生的可能性都是大致相等的。

        參數:list-要改組的清單

##        函# #數定義:pub#lic static void shuffle(List6b3d0130bba23ae47fe2b8e8cddf0195 list,Random rnd),使用指定的隨機來源對指定清單進行置換。

    參數:list-要改組的列表,rnd-用來改組列表的隨機來源。

(5)swap()交換方法

#

        函數定義:public static void swap(List6b3d0130bba23ae47fe2b8e8cddf0195 list,#(List6b3d0130bba23ae47fe2b8e8cddf0195 list,int i,

int j),在指定清單的指定位置交換元素。         參數:list-進行元素交換的列表,i-要交換的一個元素的

索引

,j-要交換的另一個元素的索引。

(6)fill()替換方法        函數定義: public static 8742468051c85b06f0a0af9e3e506b5c void fill#(List2c7dc8671179272755aec1f6022876ad list,

T obj),使用指定元素取代指定清單中的所有元素,線性時間運作。

        參數:list-使用指定元素填入的列表,obj-用來填入指定列表的元素。 (7)

copy

()複製方法函數定義:public static 8742468051c85b06f0a0af9e3e506b5c void copy(List2c7dc8671179272755aec1f6022876ad dest,

Listd203bb1ae585225d4838a2b7e3d0503e src),將所有元素從一個清單複製到另一個清單。執行此操作後,目標清單中每個已複製元素的索引將等同於來源清單中該元素的索引,目標清單的長度至少必須等於來源清單。

        參數:dest-目標列表,src-來源列表。

(8)min()最小值法則        函數定義:public static min(Collectiond203bb1ae585225d4838a2b7e3d0503e coll),根據元素的自然順序傳回給定Collection的最小元素,Collection中的所有元素必須實作Comparable

介面

,此外,collection中的所有元素都必須是可相互比較的。

###        參數:coll-將決定其最小元素的collection。 ##########

        函數定義:public static 8742468051c85b06f0a0af9e3e506b5c T min(Collection6f577ce863ae620b571540d817dd4482 coll,Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e comp),根據指定比較器產生的順序,傳回給定collection的最小元素。

        參數:coll-將決定其最小元素的collection,comp-用來確定最小元素的比較器。

(9)max()最大方法

        函數定義:public static max(Collectiond203bb1ae585225d4838a2b7e3d0503e coll),根據元素的自然順序,傳回給定collection的最大元素。

        參數:coll-將決定其最大元素的collection。

        函數定義:public static 8742468051c85b06f0a0af9e3e506b5c T #max(Collectionb0321d643ef24b7fbf4f3031ca3ebe7e coll,Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e comp),根據指定比較器產生的順序,傳回給定collection的最大元素。

        參數:coll-將確定其最大元素的collection,comp-用來確定最大元素的比較器

#(10)rotate()輪替方法

        函數定義:#public static void rotate(List6b3d0130bba23ae47fe2b8e8cddf0195 list,int distance),依照指定的距離輪替指定清單中的元素。

        參數:list-要輪換的列表,distance-列表輪換的距離,可以使0、負數或大於list.size()的數。

(11)replaceAll#()取代所有函數

        函数定义:public static 8742468051c85b06f0a0af9e3e506b5c boolean replaceAll(List8742468051c85b06f0a0af9e3e506b5c list,T oldVal,newVal),使用另一个值替换列表总出现的所有的某一指定值。

        参数:list-在其中进行替换的列表;oldVal-将被替换的原值;newVal-替换oldVald的新值。


示例代码:

public class Hello {
public static void main(String[] args) {
        System.out.println("sort");
        List list=new ArrayList<Double>();
       double array[] = {112, 111, 23, 456, 231 };
        for (int i = 0; i < array.length; i++) {
            list.add(new Double(array[i]));
        }
        Collections.sort(list);//自然排序
        for (int i = 0; i < array.length; i++) {
            System.out.println(list.get(i));
        }
        System.out.println("shuffle");

        Collections.shuffle(list);//置换
        for (int i = 0; i < array.length; i++) {
            System.out.println(list.get(i));
        }
        Collections.sort(list);//自然排序
        System.out.println("reverse");
        Collections. reverse (list);//反转
        for (int i = 0; i < array.length; i++) {
            System.out.println(list.get(i));
        }
        Collections.sort(list);//自然排序
        System.out.println("copy");
        List li = new ArrayList();
        double arr[] = {1131,333};
        for(int j=0;j<arr.length;j++){
            li.add(new Double(arr[j]));
        }
        Collections.copy(list,li);//拷贝
        for (int i = 0; i <list.size(); i++) {
            System.out.println(list.get(i));
        }
        System.out.println("min");
        System.out.println(Collections.min(list));//返回最小值
        System.out.println("max");
        System.out.println(Collections.max(list));//返回最大值
        System.out.println("rotate");
        Collections.rotate(list,-1);//循环
        for (int i = 0; i <list.size(); i++) {
            System.out.println( list.get(i));
        }
         System.out.println("binarySearch");
        Collections.sort(list);
        System.out.println(list);
        System.out.println(Collections.binarySearch(list, 333.0));//二分查找
    }
}

以上是Collections比较常用的方法,Collections还有很多其他的方法,如下表:


           與以先出(Lifo) Queue 的形式返回某個Deque()staticb77a8d9c3c319e50d4b02a976b347910 Mapb77a8d9c3c319e50d4b02a976b347910()static8742468051c85b06f0a0af9e3e506b5c Set8742468051c85b06f0a0af9e3e506b5c列表,它依回傳順序包含指定枚舉傳回的元素。 ,並傳回給定 collection 的最大元素。 8742468051c85b06f0a0af9e3e506b5c Tn1a4db2c2c2313771e5742b6debf617a1 Set1a4db2c2c2313771e5742b6debf617a1# #reverseOrder()#。 8742468051c85b06f0a0af9e3e506b5c Comparator8742468051c85b06f0a0af9e3e506b5c          與只包含指定物件的不變set。 8742468051c85b06f0a0af9e3e506b5c List8742468051c85b06f0a0af9e3e506b5c #synchronizedList(SortedSet8742468051c85b06f0a0af9e3e506b5c s)static8742468051c85b06f0a0af9e3e506b5c Collection8742468051c85b06f0a0af9e3e506b5c          以指定 set 的無法修改檢視。           以指定依序對應的無法修改檢視。
方法摘要
# static8742468051c85b06f0a0af9e3e506b5c boolean <span style="background-color:inherit; color:rgb(51,51,51)">#addAll</span>(Collection2c7dc8671179272755aec1f6022876ad c, T... elements) 
          則以所有指定元素新增至指定 collection。
static8742468051c85b06f0a0af9e3e506b5c Queue8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"><a href="http://www.php.cn/wiki/109.html" target="_blank"></a></span>
#asLifoQueue(Deque8742468051c85b06f0a0af9e3e506b5c deque) <span style="background-color:inherit; color:rgb(51,51,51)"></span>
#例如」的形式。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
#########static######8742468051c85b06f0a0af9e3e506b5c int##############binarySearch# ##(List list, T key)### ###          使用二分搜尋法搜尋指定列表,以取得指定物件。 #####################static######8742468051c85b06f0a0af9e3e506b5c int##############binarySearch# ##(List6f577ce863ae620b571540d817dd4482 list, T key, Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e c)### ####          則以二分搜尋法搜尋指定列表,以取得指定物件。
static1a4db2c2c2313771e5742b6debf617a1 Collection1a4db2c2c2313771e5742b6debf617a1 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
<span style="background-color:inherit; color:rgb(51,51,51)"><a href="http://www.php.cn/wiki/596.html" target="_blank"> #checkedCollection</a>(Collection1a4db2c2c2313771e5742b6debf617a1 c, Class1a4db2c2c2313771e5742b6debf617a1 type)</span>           以符合指定 collection 的動態型別
安全
# 檢視。
static1a4db2c2c2313771e5742b6debf617a1 List1a4db2c2c2313771e5742b6debf617a1 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
checkedList(List1a4db2c2c2313771e5742b6debf617a1 list, Class1a4db2c2c2313771e5742b6debf617a1 type)           以指定清單的動態型別類型安全檢視。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>static
###b77a8d9c3c319e50d4b02a976b347910 ###Map###b77a8d9c3c319e50d4b02a976b347910#### ############checkedMap###(Mapb77a8d9c3c319e50d4b02a976b347910 m, Class245c3adc26563b673f7297c0b3777639 keyType, Classd94943c0b4933ad8cac500132f64757f valueType)### ###          則傳回指定對映的動態型別安全視圖。 #####################static######1a4db2c2c2313771e5742b6debf617a1 ###Set###1a4db2c2c2313771e5742b6debf617a1###################################################################################################### ########checkedSet###(Set1a4db2c2c2313771e5742b6debf617a1 s, Class1a4db2c2c2313771e5742b6debf617a1 type)### ####          傳回指定 set 的一個動態型別安全視圖。
staticb77a8d9c3c319e50d4b02a976b347910 SortedMapb77a8d9c3c319e50d4b02a976b347910 <span style="background-color:inherit; color:rgb(51,51,51)">#checkedSortedMap</span>(SortedMapb77a8d9c3c319e50d4b02a976b347910 m, Class245c3adc26563b673f7297c0b3777639 keyType, Classd94943c0b4933ad8cac500132f64757f valueType) 
          則傳回指定有序對應的動態型別安全視圖。
static1a4db2c2c2313771e5742b6debf617a1 SortedSet1a4db2c2c2313771e5742b6debf617a1 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
checkedSortedSet(SortedSet1a4db2c2c2313771e5742b6debf617a1 s, Class1a4db2c2c2313771e5742b6debf617a1 type)<span style="background-color:inherit; color:rgb(51,51,51)"> </span>          以 set 指定的動態型別檢視。
static8742468051c85b06f0a0af9e3e506b5c void ##copy(List117c5a0bdb71ea9a9d0c2b99b03abe3e dest, Listd203bb1ae585225d4838a2b7e3d0503e src) <span style="background-color:inherit; color:rgb(51,51,51)">          則將所有元素從一個清單複製到另一個清單。 </span>
############static boolean#####################disjoint###(Collection< ;?> c1, Collection6b3d0130bba23ae47fe2b8e8cddf0195 c2)### ####          若有兩個指定 collection 沒有相同的元素,則傳回 true
static8742468051c85b06f0a0af9e3e506b5c List8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"></span>
#emptyList           已回空的清單(不變的)。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
#emptyMap           已產生空白的對應(不變的)。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
# #emptySet() <span style="background-color:inherit; color:rgb(51,51,51)">          與已回復的set(不變的)。 </span>
############static######8742468051c85b06f0a0af9e3e506b5c Enumeration8742468051c85b06f0a0af9e3e506b5c############################################### #enumeration###(Collection8742468051c85b06f0a0af9e3e506b5c c)### #####          傳回一個指定 collection 上的列舉。
static8742468051c85b06f0a0af9e3e506b5c void ##fill<span style="background-color:inherit; color:rgb(51,51,51)">(List117c5a0bdb71ea9a9d0c2b99b03abe3e list, T obj)</span>           以指定元素取代指定清單中的所有元素。
static int frequency<span style="background-color:inherit; color:rgb(51,51,51)">(Collection&lt ;?> c, Object o)</span>           則傳回指定 collection 中等於指定物件的元素數。
static int #indexOfSubList<span style="background-color:inherit; color:rgb(51,51,51)">(List&lt ;?> source, List6b3d0130bba23ae47fe2b8e8cddf0195 target)</span>           在指定來源清單中第一次出現指定目標清單的起始位置;如果沒有出現這樣的列表,則傳回 -1。
static int #lastIndexOfSubList<span style="background-color:inherit; color:rgb(51,51,51)">(List&lt ;?> source, List6b3d0130bba23ae47fe2b8e8cddf0195 target)</span> ##          則傳回指定來源清單中最後一次出現指定目標清單的起始位置;如果沒有出現這樣的列表,則傳回 -1。
static8742468051c85b06f0a0af9e3e506b5c ArrayList8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"></span>
# #list(Enumeration8742468051c85b06f0a0af9e3e506b5c e)           以陣列<span style="background-color:inherit; color:rgb(51,51,51)"></span>
static T
#max(Collectionc04165aef787a17e51f68c2c6a2730fc coll)           依據元素的自然順序<span style="background-color:inherit; color:rgb(51,51,51)"></span>
static
##max(Collectionc04165aef787a17e51f68c2c6a2730fc coll, Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e comp)           依據指定比較器產生的順序,並傳回給定 collection 的最大元素。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>static
### T######## ########min###(Collectionc04165aef787a17e51f68c2c6a2730fc coll)### ####          依照元素的自然順序 傳回給定 collection 的最小元素。
static8742468051c85b06f0a0af9e3e506b5c T ##min<span style="background-color:inherit; color:rgb(51,51,51)">(Collectionc04165aef787a17e51f68c2c6a2730fc coll, Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e comp)</span>           依據指定比較器產生的順序,並傳回給定 collection 的最小元素。
static8742468051c85b06f0a0af9e3e506b5c List8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"></span>
#nCopies(int n, T o)           以指定物件的  個副本所組成的非可變清單。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
static
<span style="background-color:inherit; color:rgb(51,51,51)"></span>
######### #newSetFromMap###(Map149d50d9cfbc48a869df7dfd8cfeb54e map)### ###          則傳回指定對應支援的set。 #####################static######8742468051c85b06f0a0af9e3e506b5c boolean##############replaceAll# ##(List8742468051c85b06f0a0af9e3e506b5c list, T oldVal, T newVal)### ####          則以另一個值來取代清單中出現的所有某一指定值。
static void <span style="background-color:inherit; color:rgb(51,51,51)">reverse</span>(List&lt ;?> list) 
          反轉指定清單中元素的順序。
static8742468051c85b06f0a0af9e3e506b5c Comparator8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"></span>
           返回一個比較器,它強行反轉實作了 Comparable介面的物件collection 的自然順序<span style="background-color:inherit; color:rgb(51,51,51)"></span>
static
<span style="background-color:inherit; color:rgb(51,51,51)"></span>
# #reverseOrder###(Comparator8742468051c85b06f0a0af9e3e506b5c cmp)### ###          在一個比較器,而由它強行反轉指定比較器的順序。 #####################static void#####################rotate###(List< ;?> list, int distance)### ####          則以指定的距離輪替指定清單中的元素。
static void <span style="background-color:inherit; color:rgb(51,51,51)">shuffle</span>(List&lt ;?> list) 
          使用預設隨機來源對指定清單進行置換。
static void <span style="background-color:inherit; color:rgb(51,51,51)">shuffle</span>(List&lt ;?> list, Random rnd) 
          使用指定的隨機來源對指定清單進行置換。
static8742468051c85b06f0a0af9e3e506b5c Set8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"></span># #singleton
(T o)
 
static 8742468051c85b06f0a0af9e3e506b5c List8742468051c85b06f0a0af9e3e506b5c<span style="background-color:inherit; color:rgb(51,51,51)"></span>
################################# #singletonList###(T o)### ####          則傳回一個只包含指定物件的不變清單。
staticb77a8d9c3c319e50d4b02a976b347910 Mapb77a8d9c3c319e50d4b02a976b347910 <span style="background-color:inherit; color:rgb(51,51,51)">#singletonMap</span>(K key, V value) 
          則已傳回一個不可變的映射,且它只將指定鍵對應至指定值。
static void <span style="background-color:inherit; color:rgb(51,51,51)">#sort</span>(List8742468051c85b06f0a0af9e3e506b5c list) 
#          則以元素的自然順序 定為指定清單以升序排序。
static8742468051c85b06f0a0af9e3e506b5c void ##sort<span style="background-color:inherit; color:rgb(51,51,51)">(List8742468051c85b06f0a0af9e3e506b5c list, Comparator117c5a0bdb71ea9a9d0c2b99b03abe3e c)</span>           則以指定比較器所產生的順序來排序指定清單。
static void swap<span style="background-color:inherit; color:rgb(51,51,51)">(List&lt ;?> list, int i, int j)</span>           則以指定清單的指定位置交換元素。
static8742468051c85b06f0a0af9e3e506b5c Collection8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"><a href="http://www.php.cn/wiki/1332.html" target="_blank"></a></span>
# #syn<span style="background-color:inherit; color:rgb(51,51,51)">chr</span>onizedCollection(Collection8742468051c85b06f0a0af9e3e506b5c c)
 
          返回指定collection 支援的同步(線程安全的)。
static<span style="background-color:inherit; color:rgb(51,51,51)"></span>
(List8742468051c85b06f0a0af9e3e506b5c list)           則已傳回指定清單支援的同步(執行緒安全的)清單。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
#########static######b77a8d9c3c319e50d4b02a976b347910 Mapb77a8d9c3c319e50d4b02a976b347910########### #####synchronizedMap###(Mapb77a8d9c3c319e50d4b02a976b347910 m)### ###          則傳回指定對支援的同步(執行緒安全性的)對映。 #####################static######8742468051c85b06f0a0af9e3e506b5c Set8742468051c85b06f0a0af9e3e506b5c###################### #synchronizedSet###(Set8742468051c85b06f0a0af9e3e506b5c s)### ####          傳回指定 set 支援的同步(執行緒安全的)set。
staticb77a8d9c3c319e50d4b02a976b347910 SortedMapb77a8d9c3c319e50d4b02a976b347910 <span style="background-color:inherit; color:rgb(51,51,51)">#synchronizedSortedMap</span>(SortedMapb77a8d9c3c319e50d4b02a976b347910 m) 
          所傳回指定有序且對應的同步(執行緒安全性的)有序對應。
static8742468051c85b06f0a0af9e3e506b5c SortedSet8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"></span>
synchronizedSortedSet           在已中指定有序set 支援的同步(執行緒安全的)有序set。 <span style="background-color:inherit; color:rgb(51,51,51)"></span>
<span style="background-color:inherit; color:rgb(51,51,51)"></span>
############################### #unmodifiableCollection###(Collection6f577ce863ae620b571540d817dd4482 c)### ###          以符合指定 collection 的無法修改檢視。 #####################static######8742468051c85b06f0a0af9e3e506b5c List8742468051c85b06f0a0af9e3e506b5c################################################### #unmodifiableList###(List6f577ce863ae620b571540d817dd4482 list)### ####          傳回指定清單的不可修改檢視。
staticb77a8d9c3c319e50d4b02a976b347910 Mapb77a8d9c3c319e50d4b02a976b347910 <span style="background-color:inherit; color:rgb(51,51,51)">#unmodifiableMap</span>(Map738385b4ffcfd6705c576d9ae0696e10 m) 
          則已傳回指定對映的無法修改檢視。
static8742468051c85b06f0a0af9e3e506b5c Set8742468051c85b06f0a0af9e3e506b5c <span style="background-color:inherit; color:rgb(51,51,51)"></span># #unmodifiableSet
(Set6f577ce863ae620b571540d817dd4482 s)
 
static b77a8d9c3c319e50d4b02a976b347910 SortedMapb77a8d9c3c319e50d4b02a976b347910<span style="background-color:inherit; color:rgb(51,51,51)"></span>#unmodifiableSortedMap
(SortedMap73e86936beb908d627d782a3d5719990 m)
 
static 8742468051c85b06f0a0af9e3e506b5c SortedSet8742468051c85b06f0a0af9e3e506b5c<span style="background-color:inherit; color:rgb(51,51,51)"></span>
################# #unmodifiableSortedSet###(SortedSet8742468051c85b06f0a0af9e3e506b5c s)### ###          在已中指定有序set 的不可修改檢視。 ################

以上是Java-collections用法程式碼範例總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn