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