大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

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

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

更新時間:2020-01-19 10:52:56 來源:動力節(jié)點 瀏覽2359次


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


  Java 集合框架


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


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


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


  該框架必須是高性能的。基本集合(動態(tài)數(shù)組,鏈表,樹,哈希表)的實現(xiàn)也必須是高效的。


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


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


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


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


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


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


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


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


  集合框架體系如圖所示:


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


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


  List接口的常用實現(xiàn)類


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


  ArrayList


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


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


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


  LinkedList


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


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


  Vector


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


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


  Set集合接口


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


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


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


  hashSet


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


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


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


  LinkedHashSet


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


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


  treeSet


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


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


  Map接口的常用實現(xiàn)類


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


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


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


  HashMap


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


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


  HashTable


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


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


  TreeMap


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


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


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


  框架相關視頻教程


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


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


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


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


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


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


  相關內容


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


  新手Java的三大框架ssh學習


  JavaSSH框架教學視頻


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久操视频免费在线观看 | 国产一区二区在线 |播放 | 一区二区手机视频 | 欧美kkk4444在线观看 | 伊人99热| 国产末成年女av片 | 好吊在线视频 | 欧美成人综合在线 | 玖玖在线资源 | 性色网站 | 综综综综合网 | 天天爽天天碰狠狠添 | 97在线资源站 | 亚洲精品毛片久久久久久久 | 久久不卡免费视频 | 高清国产美女一级a毛片录 高清国产美女一级毛片 | 日本三级不卡 | 亚洲久热| 高清一级毛片一本到免费观看 | 97成人在线视频 | 久婷婷| 私人影院免费观看 | 9l国产精品久久久久麻豆 | 亚洲在线视频 | 国产亚洲亚洲精品777 | 久操福利 | 亚洲偷图色综合色就色 | 男人影院免费 | 国产精品入口牛牛影视 | 99视频在线观看免费视频 | 国产一区二区三区亚洲综合 | 91精品国产高清久久久久 | 国产精品一区视频 | 成人欧美一区二区三区视频 | 亚洲春色综合另类网蜜桃 | sihu影院永久在线影院 | 一级肉体毛片视频免费看看 | 午夜影院私人 | 九九精品视频在线播放 | 欧美日韩在线精品成人综合网 | 欧美在线免费观看视频 |