黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java集合框架視頻教程,深入了解集合框架

Java集合框架視頻教程,深入了解集合框架

更新時間:2020-01-19 10:52:56 來源:動力節點 瀏覽2374次


Java集合框架視頻教程,深入了解集合框架


  Java 集合框架


  早在Java 2中之前,Java就提供了特設類。比如:Dictionary, Vector, Stack, 和Properties這些類用來存儲和操作對象組。


  雖然這些類都非常有用,但是它們缺少一個核心的,統一的主題。由于這個原因,使用Vector類的方式和使用Properties類的方式有著很大不同。


  集合框架被設計成要滿足以下幾個目標:


  該框架必須是高性能的?;炯?動態數組,鏈表,樹,哈希表)的實現也必須是高效的。


  該框架允許不同類型的集合,以類似的方式工作,具有高度的互操作性。


  對一個集合的擴展和適應必須是簡單的。


  為此,整個集合框架就圍繞一組標準接口而設計。你可以直接使用這些接口的標準實現,諸如: LinkedList, HashSet, 和 TreeSet等,除此之外你也可以通過這些接口實現自己的集合。


  集合框架是一個用來代表和操縱集合的統一架構。所有的集合框架都包含如下內容:


  接口:是代表集合的抽象數據類型。接口允許集合獨立操縱其代表的細節。在面向對象的語言,接口通常形成一個層次。


  實現(類):是集合接口的具體實現。從本質上講,它們是可重復使用的數據結構。


  算法:是實現集合接口的對象里的方法執行的一些有用的計算,例如:搜索和排序。這些算法被稱為多態,那是因為相同的方法可以在相似的接口上有著不同的實現。


  除了集合,該框架也定義了幾個Map接口和類。Map里存儲的是鍵/值對。盡管Map不是collections,但是它們完全整合在集合中。


  集合框架體系如圖所示:


Java集合框架視頻教程,深入了解集合框架


  Java集合框架提供了一套性能優良,使用方便的接口和類,java集合框架位于java.util包中,所以當使用集合框架的時候需要進行導包。下面介紹幾個接口中常用的接口以及實現類。


  List接口的常用實現類


  一個List是一個元素有序的、可以重復、可以為null的集合(有時候我們也叫它“序列”)。


  ArrayList


  最常用的List接口實現類,底層使用可變長度的動態數組實現。ArrayList有一個初始容量(capacity=10),當元素數量大于初始容量時進行擴容,新的數組長度=舊數組長度+舊數組長度/2。


  因為每個元素都有固定的位置索引,所以根據索引查詢元素的速度非???。如果在中間插入元素時,由于后面的元素全部要后移一位,所以性能會比較差。


  由于沒有做并發訪問控制,所以它是一個非線程安全的集合。允許重復元素或null元素。


  LinkedList


  List接口的雙向鏈接的實現類,允許NULL元素。它表現上是一個有序的集合,但內存中其實是無序保存。


  由于原因,所以它插入的速度會很快,但是查詢一個元素的速度較ArrayList速度慢很多。是一個非線程安全的集合。


  Vector


  Vector底層使用動態數組實現,默認初始容量為10,可以通過構造方法指定初始容量,同時可以指定擴容時的增量。


  擴容規則是指新容量=舊容量+擴容增量,若未指定擴容增量則新容量=2*舊容量。它的關鍵方法都加了synchronized,所以是一個線程安全的集合。


  Set集合接口


  如果是實現了Set接口的集合類,具備的特點:無序,不可重復


  添加元素的順序與元素出來的順序是不一致的。


  注重獨一無二的性質,該體系集合可以知道某物是否已近存在于集合中,不會存儲重復的元素。


  hashSet


  HashSet底層是使用了哈希表來支持的,特點:存取速度快。


  往Hashset添加元素的時候,HashSet會先調用元素的hashCode方法得到元素的哈希值,


  然后通過元素的哈希值經過移位等運算,就可以算出該元素在哈希表中的存儲位置。


  LinkedHashSet


  LinkedHashSet底層使用LinkedHashMap來保存所有元素,它繼承與HashSet,其所有的方法操作上又與HashSet相同,因此LinkedHashSet的實現上非常簡單,只提供了四個構造方法。


  并通過傳遞一個標識參數,調用父類的構造器,底層構造一個LinkedHashMap來實現,在相關操作上與父類HashSet的操作相同,直接調用父類HashSet的方法即可。


  treeSet


  treeSet底層是以紅-黑樹的數據結構實現的,默認對元素進行自然排序(String)。


  如果在比較的時候兩個對象返回值為0,那么元素重復。


  Map接口的常用實現類


  Map提供了一個更通用的元素存儲方法。Map集合類用于存儲元素對(稱作“鍵”和“值”),其中每個鍵映射到一個值。


  從概念上而言,您可以將List看作是具有數值鍵的Map。而實際上,除了List和Map都在定義java.util中外,兩者并沒有直接的聯系。


  本文將著重介紹核心Java發行套件中附帶的Map,同時還將介紹如何采用或實現更適用于您應用程序特定數據的專用Map。


  HashMap


  往HashMap添加元素的時候,首先會調用鍵的hashCode方法得到元素的哈希碼值,然后經過運算就可以算出該元素在哈希表中的存儲位置。


  并允許使用null值和null鍵。此類不保證映射的順序,特別是它不保證該順序恒久不變。


  HashTable


  HashTable是同步的(synchronized函數),而HashMap不同步,所以HashTable要慢一些HashTable不接受null鍵和值。


  而HashMap接受一個null鍵和無數個null值除了keySet(),entrySet(),values()這些HashMap支持的迭代之外,HashTable還支持基于Enumeration的keys(),elements(),但是在現在它們的實現都是基于一個實現了Enumeration和Iterator接口的類。


  TreeMap


  TreeMap也是基于紅黑樹(二叉樹)數據結構實現的,特點:會對元素的鍵進行排序存儲。


  注意:Set的元素不可重復,如果set元素重復將添加不成功。


  Map的鍵不可重復,如果鍵重復將直接覆蓋。


  框架相關視頻教程


  struts入門教程:http://www.ilovecolors.com.cn/v36/


  hibernate入門教程:http://www.ilovecolors.com.cn/v39/


  Java spring框架教程:http://www.ilovecolors.com.cn/v38/


  全套免費ssm整合視頻教程:http://www.ilovecolors.com.cn/v92/


Java集合框架視頻教程,深入了解集合框架


      以上就是動力節點Java培訓機構小編介紹的“Java集合框架視頻教程,深入了解集合框架”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


  相關內容


  深入淺出的Java學習路徑,Java練手項目學習


  新手Java的三大框架ssh學習


  JavaSSH框架教學視頻


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲怡春院 | 91福利国产在线观看一区二区 | 日本福利视频 | 青青青久热国产精品视频 | 成人午夜视频免费 | 国产20页 | 午夜剧场欧美 | 狠狠干五月 | 欧美在线 | 欧美 | 国产日韩精品欧美一区喷水 | 青青青青草 | 精品精拍国产日韩26u | 天天干天天草天天 | 一级在线 | 欧洲 | 黄色视屏免费 | 水果视频在线观看 | 视频三区精品中文字幕 | 任你躁在线精品免费视频网站 | 成人勉费视频 | 青草热久精品视频在线观看 | 国产精品免费视频一区一 | 老司机免费福利午夜入口ae58 | 欧美人与牲动交a欧美精品 欧美人与日本人xx在线视频 | 天堂色 | 青草草视频在线观看 | 午夜精品国产爱在线观看不卡 | 国产精品日韩欧美在线第3页 | 欧美视频日韩视频 | a级黄视频 | 久草小说 | www国产永久免费视频看看 | 任我鲁这里有精品视频在线播 | 一级片日韩 | 国产精品成人观看视频国产 | 国产一二三区在线 | 毛片在线观看网站 | 26uuu欧美日韩国产 | 亚洲成a v人片在线看片 | 欧美特黄三级在线观看 | 国产成人区 | 天天爱天天做天天干 |