《thinking in java》學習筆記11

持有對象

集合類:List,Set,Queue,Map

泛型和類型安全的容器
  • ArrayList:用add()添加對象,用get(index)獲取對象,index爲索引,使用size()獲得對象個數
  • 如果一個類沒有顯式的聲明繼承自那個類,那麼自動繼承自Object
  • <類型參數>,類型參數可以有多個,指定了容器實例可以保存的類型,可以在編譯器反之將錯誤類型的對象放置到容器中
  • foreach語法可以遍歷List

基本概念
  • 容器類用於保存對象,並分爲Collection(獨立元素的序列),Map(成對的鍵-值對 對象)
  • foreach可以遍歷所有的Collection

List
  • List承諾將元素維護在特定的序列
  • ArrayList長於隨機訪問,但是插入和移除元素較慢
  • LinkedList提供了優化的順序訪問,插入刪除代價小
  • List的行爲根據equals而有變化,包括removeAll()

迭代器
  • Iterator迭代器是一個對象,他的工作室便利並選擇序列中的對象,而客戶端程序員不需要知道序列的底層結構。應用了迭代器設計模式
  • java的Iterator只能單向移動,而且只能用來:
  1. 使用方法iterator()要求容器返回一個iterator對象,該對象準備好返回序列的第一個元素
  2. 使用next()方法獲得下一個元素
  3. 使用hasNext()方法檢查是否還有元素
  4. 使用remove()方法將迭代器新近返回的元素從容器中刪除

Set
  • set不保存重複的元素
  • set與Collection有完全一樣的接口
  • HashSet對快速查找進行了優化

Map
  • Map和collection一樣可以擴展到多維

Queue
  • 隊列是一個先進先出的容器(FIFO==first in first out)
  • 隊列用於將對象從程序某個區域傳送到另一個區域的安全途徑

Collection與Iterator
  • Collection是描述所有序列容器的共性的跟接口

Froeach與迭代器
  • Iterable接口包含了一個能產生迭代器的iterator方法,這個接口被foreach用來在序列中移動。所以實現了Iterable的類都可以用於froeach

總結:
《thinking <wbr>in <wbr>java》學習筆記11


發佈了74 篇原創文章 · 獲贊 5 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章