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

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

快速了解Java集合框架菜鳥教程

更新時間:2020-02-20 12:36:38 來源:動力節(jié)點 瀏覽3227次

快速了解Java集合框架菜鳥教程,JDK1.2引入了Java集合框架,包含一組數(shù)據(jù)結(jié)構(gòu)。與數(shù)組不同,這些數(shù)據(jù)結(jié)構(gòu)的存儲空間會隨著元素添加動態(tài)增加。其中,一些支持添加重復元素另一些不支持,一些支持null,一些能自動升序打印元素。

  所有這些數(shù)據(jù)結(jié)構(gòu)在java.util包里,包含了Collection、List、Set、Map、SortedMap接口。這些接口的實現(xiàn)類有LinkedList、TreeSet、ArrayList、HashMap等。除了這些數(shù)據(jù)結(jié)構(gòu),java.util包還提供了Date、GregorianCalender、StringTokenizer、Random這樣的工具類。

  2.分類

  可以按照接口、實現(xiàn)、算法三個方面對集合框架中的數(shù)據(jù)結(jié)構(gòu)進行分類:

  接口:Collection、List、Map組成了集合框架中所有具體實現(xiàn)類的接口,它們定義了子類必須實現(xiàn)的方法,非常好記。比如向集合添加元素,會用到Collection中定義的add()方法

  實現(xiàn):所有實現(xiàn)了上述3個接口的類,都被稱作集合框架,實際上就是數(shù)據(jù)結(jié)構(gòu)。比如LinkedList、TreeSet等

  算法:集合框架提供了很多可以直接調(diào)用的算法,比如求最大最小值、排序、填充等

  3.優(yōu)缺點

  有以下4個優(yōu)點

  減少工作量的同時增加了軟件的可用性:不需要每個程序員動手實現(xiàn)排序、查找、找出元素在數(shù)據(jù)結(jié)構(gòu)中出現(xiàn)的次數(shù)

  執(zhí)行速度更快更持久:集合框架的底層數(shù)據(jù)結(jié)構(gòu)分為兩類,基于節(jié)點的和基于數(shù)組的,前者在頻繁添加時效率更高,后者在頻繁讀取時速度更快。一些數(shù)據(jù)結(jié)構(gòu)是synchronized線程安全的,但會影響速度有,另一些則不是線程安全的。程序員在選用數(shù)據(jù)結(jié)構(gòu)前要清楚地了解這些因素

  互操作與轉(zhuǎn)換:由于實現(xiàn)了Collection接口,數(shù)據(jù)結(jié)構(gòu)之間是可以相互轉(zhuǎn)換的。可以clone,可以把現(xiàn)有的結(jié)構(gòu)轉(zhuǎn)成synchronized版本,還可以在把基于鏈表的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)為基于數(shù)組的結(jié)構(gòu)

  有以下2個缺點

  當心類型轉(zhuǎn)換:在集合框架類之間進行轉(zhuǎn)換時要大大地小心,尤其要考慮泛型類型的兼容性

  運行時類型檢查:集合框架在運行時會拋出異常,需要編程時多加注意

  4.繼承體系

  java.util中的數(shù)據(jù)結(jié)構(gòu)繼承體系分為兩大類,一類實現(xiàn)了Collection接口,一類實現(xiàn)了Map接口。

快速了解Java集合框架菜鳥教程

  Collection繼承體系(圖片來自Wikipedia)

快速了解Java集合框架菜鳥教程

  Map繼承體系(圖片來自Wikipedia)

  集合框架核心接口及實現(xiàn)類:

  Collection:根接口,大部分數(shù)據(jù)結(jié)構(gòu)都實現(xiàn)了Collection接口中的方法

  Set:實現(xiàn)Set接口的數(shù)據(jù)結(jié)構(gòu)不允許重復的元素,例如HashSet、LinkedHashSet

  SortedSet:實現(xiàn)SortedSet接口的數(shù)據(jù)結(jié)構(gòu)默認可按升序打印元素,例如TreeSet

  List:實現(xiàn)List接口的數(shù)據(jù)結(jié)構(gòu)允許重復元素,可通過index訪問元素,例如LinkedList、ArrayList、Vector

  Map:實現(xiàn)Map接口的數(shù)據(jù)結(jié)構(gòu)存儲鍵值對,不允許重復的key,例如HashMap、LinkedHashMap、Hashtable

  SortedMap:繼承了Map接口,存儲鍵值對,不允許重復的key,默認可按key升序打印元素,例如TreeMap

  SortedSet與SortedMap默認的排序是自然序,可通過Comparator或Comparable接口實現(xiàn)自定義排序。

  在接口與具體的實現(xiàn)類之間還有一些抽象類,如下圖:

快速了解Java集合框架菜鳥教程

  這些抽象類為集合增加了很多功能:

  HashSet:實現(xiàn)Set接口,不允許重復的元素,底層數(shù)據(jù)結(jié)構(gòu)hashtable

  LinkedHashSet:實現(xiàn)Set接口,不允許重復的元素,底層數(shù)據(jù)結(jié)構(gòu)hashtable與雙鏈表

  TreeSet:實現(xiàn)NavigableSet接口,不允許重復的元素,底層數(shù)據(jù)結(jié)構(gòu)紅黑樹

  ArrayList:實現(xiàn)List接口,允許重復元素,底層數(shù)據(jù)結(jié)構(gòu)可變數(shù)組

  LinkedList:實現(xiàn)List接口,允許重復元素,底層數(shù)據(jù)結(jié)構(gòu)雙鏈表

  Vector:實現(xiàn)List接口,允許重復元素,底層數(shù)據(jù)結(jié)構(gòu)可變數(shù)組

  HashMap:實現(xiàn)Map接口,不允許重復的key,底層數(shù)據(jù)結(jié)構(gòu)hashtable

  LinkedHashMap:實現(xiàn)Map接口,不允許重復的key,底層數(shù)據(jù)結(jié)構(gòu)hashtable與雙鏈表

  HashTable:實現(xiàn)Map接口,不允許重復的key,底層數(shù)據(jù)結(jié)構(gòu)hashtable

  TreeMap:實現(xiàn)SortedMap接口,不允許重復的key,底層數(shù)據(jù)結(jié)構(gòu)紅黑樹

快速了解Java集合框架菜鳥教程

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

  相關(guān)文章

  Java培訓教程:Java集合框架源碼學習

  Java集合框架詳解,學習Java不求人

  你需要了解的Java集合類框架

  深入Java集合學習系列:集合框架

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

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 视频精品一区 | 狠狠色丁香久久婷婷综合五月 | 抱着cao才爽视频 | 欧美日韩不卡码一区二区三区 | 四虎影视国产精品婷婷 | 久久99影院网久久久久久 | 四虎资源| 国产精品香蕉一区二区三区 | 久久久久国产精品 | 亚洲一级理论片 | 老头与老头同性tube可播放 | 综合欧美亚洲 | 日本高清不卡网站免费 | 免费视频不卡一区二区三区 | 日本最猛黑人xxxx猛交 | 欧美日韩一二三区 | 亚洲精品久久麻豆蜜桃 | 福利小视频在线 | 香蕉成人国产精品免费看网站 | 91久久国产综合精品女同国语 | 亚洲成a人v大片在线观看 | 免费一级毛片在线播放放视频 | 内衣办公室动漫久久影院 | 亚洲视频一区二区在线观看 | 日本不卡影院 | 国产观看精品一区二区三区 | 蜜桃精品免费久久久久影院 | 日韩视频久久 | 五月婷婷视频在线观看 | 日本亚州在线播放精品 | 精品久久洲久久久久护士免费 | 久久精品这里有 | 日本成a人免费视频 | 国产精品久久久久久永久牛牛 | 999毛片| 久久中文字幕在线 | 久久免费手机视频 | 波多野结衣久久高清免费 | 欧美成人午夜在线全部免费 | 亚洲视频在线网站 | www.欧美|