1 / 27

第十四章: Collections 集合物件與資料結構

第十四章: Collections 集合物件與資料結構. *集合物件的基礎 ……………….. *實作 Set 介面的集合類別 …….. *實作 List 介面的集合類別 ..…… *實作 Map 介面的集合類別 …….. * Collections 物件與資料結構 ….. *使用 Collections 物件實作類別關係. 14-1 集合物件的基礎 ◎ Java Collections Framework.

garry
Download Presentation

第十四章: Collections 集合物件與資料結構

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十四章:Collections集合物件與資料結構 *集合物件的基礎 ……………….. *實作Set介面的集合類別 …….. *實作List介面的集合類別 ..…… *實作Map介面的集合類別 …….. *Collections物件與資料結構 ….. *使用Collections物件實作類別關係

  2. 14-1集合物件的基礎◎Java Collections Framework • 「集合物件」(Collections)是指一組相關的物件集合,將這組物件集合視為單一物件,在集合物件中的物件稱為「元素」。 • 組成架構: *集合介面 *實作 *演算法

  3. Collection集合介面 Map集合介面 <<interface>> Collection <<interface>> List <<interface>> Set <<interface>> SortedSet <<interface>> SortedMap <<interface>> Map 14-1集合物件的基礎◎集合介面

  4. 14-2實作Set介面的集合類別◎Set介面的基礎 • 儲存元素沒有重複的元件 ;Set介面繼承Collections介面的所有方法

  5. 14-2實作Set介面的集合類別◎HashSet類別—實作Set介面14-2實作Set介面的集合類別◎HashSet類別—實作Set介面 • HashSet類別是實作Set介面,繼承Collection介面的方法,使用「雜湊表」(Hash Table)演算法來改進新增、刪除和存取集合物件元素。 • 儲存元素的排列和插入順序不同=>不固定的排列順序。 • 建立HashSet物件: HashSet hset = new HashSet( ); ch14_2_2

  6. 14-2實作Set介面的集合類別◎TreeSet類別—實作SortedSet介面14-2實作Set介面的集合類別◎TreeSet類別—實作SortedSet介面 • TreeSet類別實作SortedSet介面,是Set介面的子介面。 • 元素沒有重複,由小到大排序=>排序集合物件。 • 建立TreeSet物件: TreeSet tset = new TreeSet( );

  7. 14-2實作Set介面的集合類別◎TreeSet類別—實作SortedSet介面14-2實作Set介面的集合類別◎TreeSet類別—實作SortedSet介面

  8. 14-3實作List介面的集合類別◎List介面的基礎 • List 介面也是繼承自Collection介面=>循序集合物件。 • 允許重複元素。 • 元素擁有索引位置。(類似陣列索引方式來存取元素) • 循序與排序的不同: 循序:如同陣列【元素位置以索引來排列】 排序:以元素的大小進行排列。

  9. 14-3實作List介面的集合類別◎List介面的基礎

  10. 14-3實作List介面的集合類別◎ArrayList類別 • ArrayList類別實作List介面。 • 儲存元素的方式類似陣列。【索引】 • 元素新增或插入ArrayList物件,並不用事先宣告物件的尺寸。【動態陣列】 • 建立ArrayList的物件: • ArrayList alist = new ArrayList()

  11. 14-3實作List介面的集合類別◎ArrayList類別

  12. first null 14-3實作List介面的集合類別◎LinkedList類別 • LinkedList類別實作List介面。 • 鏈結串列。

  13. 14-3實作List介面的集合類別◎LinkedList類別

  14. 14-4實作Map介面的集合類別◎Map介面的基礎 • Map介面並不是擴充自Collection介面。 • 獨立類別架構的根介面。 • 屬於一種儲存「鍵值結合」元素的集合物件。 • 儲存物件共有兩個:鍵值(Key)、對應值(Value) Key:不可重複 Value:一個鍵值對應一個值

  15. 14-4實作Map介面的集合類別◎Map介面的基礎

  16. 14-4實作Map介面的集合類別◎Map介面的基礎

  17. 14-4實作Map介面的集合類別◎HashMap類別—實作Map介面14-4實作Map介面的集合類別◎HashMap類別—實作Map介面 • HaspMap類別實作Map介面。 • 相當於舊版的Hashtable類別。 • 儲存的元素有兩個:key值、對應值,允許儲存null值或鍵值。 • 建立HaspMap物件: HashMap hmap = new HashMap();

  18. 14-4實作Map介面的集合類別◎TreeMap類別—實作SortedMap介面14-4實作Map介面的集合類別◎TreeMap類別—實作SortedMap介面 • 鍵值由小到大進行排序。 • 建立TreeMap物件: TreeMap tmap = new TreeMap( );

  19. 14-4實作Map介面的集合類別◎HashMap類別—實作Map介面14-4實作Map介面的集合類別◎HashMap類別—實作Map介面

  20. 14-5Collection物件與資料結構 • 使用Java的LinkedList集合物件建立堆疊資料結構。 • 堆疊資料結構擁有兩種特性: *只允許從堆疊的頂端存取資料。 *Last Out,First In

  21. 14-6輸出Collections物件的元素 • Iterator和ListIterator介面可以使用一致的走訪方式輸出集合物件的元素。 • toArray() =>元素輸出成陣列結構。

  22. 14-6輸出Collections物件的元素◎Iterator介面輸出元素14-6輸出Collections物件的元素◎Iterator介面輸出元素 • 一致的方法來走訪集合物件的元素或刪除元素。 Ch14_6_1

  23. 14-6輸出Collections物件的元素◎ListIterator介面輸出元素14-6輸出Collections物件的元素◎ListIterator介面輸出元素 • 可雙向走訪集合物件的元素。 • ArrayList物件alist取得ListIterator介面物件。 ListIterator iterator = alist.listIterator(0);

  24. 14-6輸出Collections物件的元素◎ListIterator介面輸出元素14-6輸出Collections物件的元素◎ListIterator介面輸出元素

  25. 14-6輸出Collections物件的元素◎toArray()方法輸出成陣列14-6輸出Collections物件的元素◎toArray()方法輸出成陣列

  26. 14-7使用Collections物件時做類別關係◎實作Comparator介面的比較物件14-7使用Collections物件時做類別關係◎實作Comparator介面的比較物件

  27. 習題11—佇列(Queues) • 佇列與堆疊十分相似的資料結構,擁有兩種特性,如下所示: *從佇列的一端存入資料,從另一端讀取資料。 *資料存取的順序是先進先出(First In,First Out),也就是先存入佇列的資料,先行取出。

More Related