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

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

Java集合框架視頻教程,看完本篇全了解了

更新時間:2020-05-22 14:49:15 來源:動力節(jié)點 瀏覽2231次

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

Java集合框架視頻教程,看完本篇全了解了

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

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

ArrayList

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

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

由于沒有做并發(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方法得到元素的哈希值 ,

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

LinkedHashSet

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

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

treeSet

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

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

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

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

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

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

HashMap

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

并允許使用 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ù)據結構實現(xiàn) 的, 特點:會對元素的鍵進行排序存儲。

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

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

Java集合框架視頻教程,看完本篇全了解了

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

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 91成人精品 | 夜间福利在线观看 | 91成人影院未满十八勿入 | 奇米影视4色 | 九九网站 | 在线a亚洲视频播放在线观看 | 京野结衣免费一区二区 | 亚洲精品一区二区不卡 | 亚洲加勒比久久88色综合一区 | 精品久久久日韩精品成人 | 亚洲成a人v | 亚洲欧美日韩国产一区图片 | 久久国产高清一区二区三区 | 热99re久久精品这里都是免费 | 99久久99久久精品免费看子 | 久久精品一区二区三区资源网 | 久久国产精品亚洲综合 | 日本一级爽爽爽爽 | 狠狠地操| 天天爽夜夜爽人人爽 | 日本一级特黄毛片免费视频9 | 国产精品美女视频 | 天天操91 | 久久99精品久久久久久久野外 | 奇米888四色在线精品 | 欧美激情在线播放 | 国产精品久草 | 国产精自产拍久久久久久 | 国产成人久久久精品毛片 | 久草视频官网 | 特级毛片aaaa级毛片免费 | 免费播放国产性色生活片 | 五月中文字幕 | 日韩欧美国产一区二区三区四区 | 国产亚洲欧美精品久久久 | 91成人在线免费视频 | 国产精品久久久久久久久久影院 | 成人短视频在线免费观看 | 尤物精品视频在线观看 | 波多野结衣3女同在线观看 波多野结衣av1区2区3区 | 久久香蕉国产线看精品 |