大战熟女丰满人妻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ù)文檔推薦 >>
主站蜘蛛池模板: 久久麻豆精品 | 欧美另类成人 | 中文字幕久久精品波多野结 | 亚洲免费视频观看 | 欧美a色| 在线视频 中文字幕 | 在线500福利视频国产 | 天天操天天爱天天干 | 欧美日韩在线成人免费 | 国产成人精视频在线观看免费 | 久久草在线播放 | 欧美亚洲国产精品久久高清 | 青青久在线视频免费视频 | 亚洲精品久一区 | 特黄特级毛片免费视 | 成人精品一区二区三区中文字幕 | 性欧美4k高清精品 | 精品国产91 | 国产精品99久久99久久久看片 | 欧美一区二区在线观看视频 | 91亚洲在线 | 日本高清无吗免费播放 | 久久亚洲国产视频 | 九久久 | 成人国产免费 | 天天操欧美 | 91热久久免费频精品黑人99 | 日韩天堂视频 | 日韩午夜在线观看 | 日本中文字幕永久在线 | 久久9热| 午夜人成| 国产精品亚洲国产三区 | 性欧美视频 | 色爱综合网欧美 | 天天影视欧美综合在线观看 | 在线观看欧洲成人免费视频 | 亚洲视频在线一区二区三区 | 俄罗斯美女逼 | 99视频在线看观免费 | 亚洲色婷婷综合开心网 |