【Java面試題】38 Collection 和 Collections的區別


Collection是集合類的一個頂級接口,其直接繼承接口有List與Set

而Collections則是集合類的一個工具類/幫助類,其中提供了一系列靜態方法,用於對集合中元素進行排序、搜索以及線程安全等各種操作。java.util.Collections 是一個包裝類。它包含有各種有關集合操作的靜態多態方法。此類不能實例化,就像一個工具類,服務於Java的Collection框架。

 

Collection是個Java.util下的接口,它是各種集合結構的父接口。

Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。

Collection 層次結構中的根接口。Collection 表示一組對象,這些對象也稱為 collection的元素。一些 collection 允許有重復的元素,而另一些則不允許。一些 collection 是有序的,而另一些則是無序的。JDK 不提供此接口的任何直接 實現:它提供更具體的子接口(如 Set 和 List)實現。此接口通常用來傳遞 collection,並在需要最大普遍性的地方操作這些 collection。

Collection   
├List   
│├LinkedList   
│├ArrayList   
│└Vector   
│ └Stack   
└Set 

collections 此類完全由在 collection 上進行操作或返回 collection 的靜態方法組成。它包含在 collection 上操作的多態算法,即“包裝器”,包裝器返回由指定 collection 支持的新 collection,以及少數其他內容。 如果為此類的方法所提供的 collection 或類對象為 null,則這些方法都會拋出 NullPointerException

Java代碼 

import java.util.ArrayList;   
import java.util.Collections;   
import java.util.List;   
  
public class TestCollections {   
       
    public static void main(String args[]) {   
        //注意List是實現Collection接口的   
        List list = new ArrayList();   
        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));   
        }   
        // 結果:23.0 111.0 112.0 231.0 456.0   
    }   
}  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM