java第六章工具包6.1P6-01.Collections 2020.4.3+7
文章目錄
- P6-01.Introduction
- P6-02.Collection Interface 集合與Collection集合接口
- <?extends E>泛型
- <?extends E>泛型 希望聲明的時候不知道,但使用時知道是什么類型,使用時用新的把原來的擦去
- List集合接口
- P6-04.ArrayList
- P6-05.LinkedList
- P6-06.Performance of List
- P6-07.Map Interface
- P6-08.Map接口操作MapInterface02
- P6-09.HashMap分析(課后)HashMap
- P6-10.SetSet集合接口
- P6-11.Iterators.Iterator接口
- P6-12.ArrayList Iterators.ArrayList Iterator分析(課后)
- (P6-13.Benefits Java集合框架優(yōu)點(diǎn)(課后))
P6-01.Introduction
java8加入函數(shù)式編程
P6-02.Collection Interface 集合與Collection集合接口
一個集合不應(yīng)該僅僅是一個容器,還應(yīng)該完成操作
集合也是個對象
集合框架:
不同表現(xiàn)細(xì)節(jié)的集合,希望把數(shù)據(jù)類型和底層實(shí)現(xiàn)分隔開,抽象開,所以用接口實(shí)現(xiàn)
java.lang的包是核心,不用import序、、、forEach要函數(shù)式編程才能使用
有一個接口叫Collection,不要弄混
比較核心的集合接口
黃色的是實(shí)現(xiàn)類
LinkedList類實(shí)現(xiàn)了Deque和List接口
<?extends E>泛型
<?extends E>泛型 希望聲明的時候不知道,但使用時知道是什么類型,使用時用新的把原來的擦去
List集合接口
放什么就是什么類型
命名一般就用數(shù)組類型名
父類不一定有子類的特性
這樣就在類的內(nèi)部創(chuàng)建一個List
遍歷方法:
P6-04.ArrayList
P6-05.LinkedList
也是,創(chuàng)建一個元素,然后封裝
P6-06.Performance of List
執(zhí)行效率的一個比較
P6-07.Map Interface
map:存放鍵值對的容器
Map:并不是集合,但是個容器,不能單開一章就在這里講了
Java中HashMap遍歷幾種方式
Java中遍歷HashMap的5種方式
不建議用hashtable,淘汰了
后面一些用流更強(qiáng)大就不講了
沒有foreach語句,但流里有foreach方法
Java中HashMap遍歷幾種方式
Java中遍歷HashMap的5種方式
Java8支持foreach了
P6-08.Map接口操作MapInterface02
放進(jìn)去,取出來
P6-09.HashMap分析(課后)HashMap
hashmap怎么工作的,來一個鍵值對,創(chuàng)建一個節(jié)點(diǎn)
沖突時:(哈希值相同時),按數(shù)量用單向鏈表,紅黑樹(平衡二叉樹),自動轉(zhuǎn)換
這個似乎不是啊,我復(fù)現(xiàn)了下:
hashmap根本就沒法鏈表啊
大佬做法:后期作為作業(yè)自己完成?????(上面的那個還是作為List做的)
下圖是hash值相同了,可不是key相同了
P6-10.SetSet集合接口
加重復(fù)元素不拋異常,但也不改變set(數(shù)學(xué)意義上集合)
沒有基于索引類型的方法
hashset無序,(與插入的順序也不同)
相互轉(zhuǎn)換:
有些關(guān)系也是不能重的(1:1)
P6-11.Iterators.Iterator接口
移除元素:
一個拋異常,另一個無法刪兩個連續(xù)相同的(其實(shí)第二個 i–下就行)
有一個解決方法:
允許迭代時移除
都不需要知道什么類型,什么數(shù)據(jù)結(jié)構(gòu):只要面向接口就好
游標(biāo):
操作當(dāng)前迭代器就好,代碼有些冗余,后面會有更好的方法
P6-12.ArrayList Iterators.ArrayList Iterator分析(課后)
實(shí)現(xiàn)了個非靜態(tài)的內(nèi)部類
用 i 留了下當(dāng)前迭代器
拿出第0個元素
(P6-13.Benefits Java集合框架優(yōu)點(diǎn)(課后))
總結(jié)
以上是生活随笔為你收集整理的java第六章工具包6.1P6-01.Collections 2020.4.3+7的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: buildroot经验
- 下一篇: RDD 可视化 —— RDDOperat