执行绪同步元素顺序元素重复性资料结构直接实作介面具体类别.PPT

执行绪同步元素顺序元素重复性资料结构直接实作介面具体类别.PPT

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
执行绪同步元素顺序元素重复性资料结构直接实作介面具体类别

* 第13章 集合 資料結構 collection的介面 Collection的具體類別 Arrays與Collections類別 物件的比較 Collection中所使用的基本資料結構 陣列(array) 鏈結串列(linked list) 樹(tree) 雜湊表(hash table) 13-1-1 陣列 陣列的重要特性: 存取元素的速度快。 要在某位置插入或移除元素值時,並不方便。 陣列長度為固定,欲改變長度必須重新建立另一個陣列。 13-1-1 陣列 在陣列中插入一個元素值 13-1-1 陣列 重新設定陣列大小 13-1-2 鏈結串列 鏈結串列的重要特性: 插入或刪除節點很方便。 變更鏈結串列的長度也很方便。 存取節點的速度較慢。 可以鏈結的類別 class LinkedObj { Object data; //節點資料 LinkedObj next; //下一個節點 } 13-1-2 鏈結串列 鏈結串列的插入、刪除和加入節點 13-1-3 樹 樹的優點是有「排序」的功能,缺點和鏈結串列一樣,節點資料的存取都比較慢。 實體可以做為二元樹的節點的類別 class TreeNode { Object data; TreeNode left; TreeNode right; } 13-1-3 樹 二元樹 13-1-4 雜湊表 雜湊表的特點: 存取資料的速度快。 較浪費記憶體空間。 雜湊表(hash table)的資料是以「鍵值對」(key value paired)的形式存在。 加入一個元素時必須同時給予一個key和一個value,透過key就可以取得value。 13-1-4 雜湊表 雜湊表的實作方式 Collections Framework內的介面架構 13-2-1 Collection介面 Collection介面定義的集合,其元素可以為無順序(non-ordered)和可重複(repetition allowed)。 Collection兩個延伸介面List和Set,分別保有Collection的不同特性。 Set的特點為,其元素不可重複。SortedSet介面繼承Set介面,且宣告了排序的方法。 List介面繼承Collection介面,然而它是有順序的,而且是可以重複的。 13-2-2 Map介面 Map介面和Collection介面沒有繼承的關係。 Map介面的元素是「鍵值對」(key-value pairs)。 Map中的key和value皆為參照變數,而且key不能重複,一個key對應(mapping)到一個value。 Map中的元素是沒有順序的。 SortedMap介面為Map的子介面,故名思義,其為可排序的集合。 請注意Collection具體類別的相關特性: 類別實作的介面。 類別使用的資料結構。 元素可否重複。 無序或有序(加入的先後順序,或有排序功能)。 是否為執行緒同步(Thread safe class)。 有哪些常見的應用。 實作Collection延伸介面的具體類別 實作Map介面的具體類別 13-3-1 實作List介面的具體類別 ArrayList使用array資料結構實作List。保有陣列的特性,存取元素的效率佳,但不利於插入或移除元素,且重定陣列長度效率差。 LinkedList使用linked list實作List。保有linked list的特性,存取元素的效率較差,但利於插入元素、移除元素和改變長度。 Vector和ArrayList很像,都是以array實作List。兩者最大的不同是在於:Vector為「執行緒同步類別」,而ArrayList則否。 13-3-1 實作List介面的具體類別 Stack為Vector的延伸類別,所以同樣為有序、執行緒同步類別。Stack類別是堆疊的抽象資料型別(Abstract Data Type)。 13-3-2 實作Set介面的具體類別 HashSet使用hash table實作Set。元素沒有順序,而且元素不可重複存在HashSet物件內。其key和value是使用相同的物件,也就是被加入的物件。 LinkedHashSet除了使用hash table,還使用linked list實作Set,使之成為有序集合。元素的順序是依照加入的順序。 TreeSet使用tree實作SortedSet,所以元素在加入集合時,就會和既有的元素「比較」,以排放在適當的位置。 13-3-3 實作Map介面的具體類別 HashMap使用hash table實作Map,此集合中key-value pairs順序和放入的順序無關,而且key無法重複。 LinkedHashMap使用hash table和lin

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档