【Java面試題】31 介紹Collection框架的結構


Collection:List列表,Set集

Map:Hashtable,HashMap,TreeMap

 

Collection  是單列集合

List   元素是有序的、可重復

有序的 collection,可以對列表中每個元素的插入位置進行精確地控制。

可以根據元素的整數索引(在列表中的位置)訪問元素,並搜索列表中的元素。 

可存放重復元素,元素存取是有序的。

List接口中常用類

Vector: 線程安全,但速度慢,已被ArrayList替代。

底層數據結構是數組結構

ArrayList:線程不安全,查詢速度快。

            底層數據結構是數組結構

LinkedList:線程不安全。增刪速度快。

             底層數據結構是列表結構

 

Set(集) 元素無序的、不可重復。

取出元素的方法只有迭代器。不可以存放重復元素,元素存取是無序的。

Set接口中常用的類

HashSet:線程不安全,存取速度快。

          它是如何保證元素唯一性的呢?依賴的是元素的hashCode方法和euqals方法。

TreeSet:線程不安全,可以對Set集合中的元素進行排序。

          它的排序是如何進行的呢?通過compareTo或者compare方法中的來保證元素的唯一性。元素是以二叉樹的形式存放的。

 

 

Map  是一個雙列集合

|--Hashtable:線程安全,速度快。底層是哈希表數據結構。是同步的。

不允許null作為鍵,null作為值。

      |--Properties:用於配置文件的定義和操作,使用頻率非常高,同時鍵和值都是字符串。

是集合中可以和IO技術相結合的對象。(到了IO在學習它的特有和io相關的功能。)

|--HashMap:線程不安全,速度慢。底層也是哈希表數據結構。是不同步的。

允許null作為鍵,null作為值。替代了Hashtable.

      |--LinkedHashMap: 可以保證HashMap集合有序。存入的順序和取出的順序一致。

|--TreeMap:可以用來對Map集合中的進行排序.

 

 

Collection 和 Collections的區別

 

Collection是集合類的上級接口,子接口主要有Set 和List、Map。 

Collections是針對集合類的一個幫助類,提供了操作集合的工具方法:一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作。


免責聲明!

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



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