Java---容器基礎總結

來源:互聯網
上載者:User

標籤:產生   nbsp   之間   stl   text   不包含   插入   ati   font   

Java提供了大量持有對象的方式:

(1) 數組將數字與對象聯絡起來。 它檔案類型明確的對象,查詢對象時,不需要對結果做類型轉換。它可以是多維的, 可以儲存基本類型的資料。 但是,數組一旦產生,其容量就不能改變。

(2)Collection儲存單一的元素,而Map儲存相關聯的索引值對。有了Java的泛型,你就可以指定容器中存放的物件類型, 因此你就不會將錯誤類型的對象放置到容器中,並且在從容器中擷取元素時,不必進行類型轉換。各種Collection 和各種Map都可以在你向其中添加更多的元素時,自動調整其尺寸。 容器不能持有基本類型,但是自動封裝機制會仔細地執行基本類型到容器中所持有的 封裝器類型之間的雙向轉換。

(3)像數組一樣,List也建立數字索引與對象的關聯,因此,數組和List都是排好序的容器。 List能夠自動擴充容量。

(4)如果要進行大量的隨機訪問, 就使用ArrayList具有數組的特性,如果要經常從表中間插入或刪除元素,則應該使用        LinkedList(具有鏈表的特性)

(5)各種Queue(隊列)以及棧的行為, 由LinkedList提供支援。

(6)Map是一種將對象(而非數字)與對象相關聯的設計。HashMap設計用來快速存取,而TreeMap保持 “鍵” 始終處於排序狀態,所以沒有    HashMap快。LinkedHashMap保持元素插入的順序, 但是也通過散列提供了快速存取能力。

(7)Set不接受重複元素。HashSet提供最快的查詢速度,而TreeSet保持元素處於排序狀態。
LinkedHashSet以插入順序儲存元素。

Java容器的簡圖(不包含抽象類別和遺留構件):

你可以看到, 其實只有四種容器: MapListSet和  Queue,它們各有兩到三個實現版本。常用的容器用黑色粗線框表示。

點線框表示介面, 實線框表示普通的(具體的) 類。帶有空心箭頭的點線表示一個特定的類實現了一個介面, 實心箭頭表示某個類可以產生箭頭所指向類的對象。 例如, 任意的
Collection可以產生Iterator,而List可以產生Listlterator (也能產生普通的Iterator,因為List繼承自   Collection

Java的容器每天都會用到的工具, 它可以使程式更簡潔更強大更高效。

 

1.Java容器概述

2.Java容器---基本概念

3.Java容器---Collection介面

4.Java容器---Arrays & Collections工具類

5.Java容器---字元容器StringBuffer & StringBuilder

6.Java容器---List基礎

7.java容器---Comparable & Comparator

8.Java容器---Set基礎: HashSet & TreeSet & LinkedHashSet

9.Java容器---迭代器

10.Java容器---Map基礎

Java---容器基礎總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.