大战熟女丰满人妻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框架教學視頻


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 美女黄频 | 中文字幕精品视频在线 | 开心久久婷婷综合中文字幕 | 国内精品久久国产大陆 | 欧美日韩精品一区二区三区四区 | 99热这里只有精品在线 | 亚洲精品乱码久久久久久中文字幕 | 毛片免费毛片一级jjj毛片 | 天天爽夜夜操 | 亚洲成人免费视频 | 在线中文字幕视频 | 久久人人网 | 国产欧美国产精品第二区 | 天天操天天摸天天舔 | 97在线碰碰观看免费高清 | 久久久久爽亚洲精品 | 久久精品蜜芽亚洲国产a | 欧美日韩无线码在线观看 | 国产精品美女免费视频大全 | 欧美另类69xxxxx视频 | 俺来也俺来也天天夜夜视频 | 麻豆久久久久久久 | 五月桃花网婷婷亚洲综合 | 国产成人精品实拍在线 | 亚洲成a人v欧美综合天 | 狠狠干人人插 | 日本不卡一区二区 | α片毛片 | 成人18毛片 | 婷婷四色 | 99福利| 看免费5xxaaa毛片30厘米 | 久久久在线视频精品免费观看 | a拍拍男女免费看全片 | 我要看欧美精品一级毛片 | 99久久免费国产精品m9 | 夜夜爽毛片 | 一本大道久久a久久综合 | 一级一级18女人毛片 | 国产成人丝袜网站在线观看 | 美女被爆羞羞视频网站视频 |