從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

1. 集合

1.1. 什麼是集合

存儲對象的容器,面嚮對象語言對事物的體現都是以對象的形式,所以為了方便對多個對象的操作,存儲對象,集合是存儲對象最常用的一種方式。

集合的出現就是為了持有對象。集合中可以存儲任意類型的對象, 而且長度可變。在程序中有可能無法預先知道需要多少個對象, 那麼用數組來裝對象的話, 長度不好定義, 而集合解決了這樣的問題。

1.2. 集合和數組的區別

數組和集合類都是容器

數組長度是固定的,集合長度是可變的。數組中可以存儲基本數據類型,集合只能存儲對象數組中存儲數據類型是單一的,集合中可以存儲任意類型的對象。

集合類的特點

用於存儲對象,長度是可變的,可以存儲不同類型的對象。

1.2.1. 數組的缺點

存儲類型單一的數據容器,操作複雜(數組一旦聲明好不可變)CRUD

1.3. 集合的分類

集合做什麼

1:將對象添加到集合

2:從集合中刪除對象

3: 從集合中查找一個對象

4:從集合中修改一個對象就是增刪改查

注意:集合和數組中存放的都是對象的引用而非對象本身

Java工程師對不同的容器進行了定義,雖然容器不同,但是還是有一些共性可以抽取最後抽取了一個頂層接口,那麼就形成了一個集合框架。如何學習呢?當然是從頂層學起,頂層裡邊具有最共性,最基本的行為。具體的使用,就要選擇具體的容器了。為什麼? 因為不斷向上抽取的東西有可能是不能創建對象的.抽象的可能性很大,並且子類對象的方法更多一些. 所以是看頂層,創建底層。那麼集合的頂層是什麼呢 叫做Collection

集合框架體系

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

---|Collection: 單列集合

---|List: 有存儲順序, 可重複

---|ArrayList: 數組實現, 查找快, 增刪慢

由於是數組實現, 在增和刪的時候會牽扯到數組

增容, 以及拷貝元素. 所以慢。數組是可以直接

按索引查找, 所以查找時較快

---|LinkedList: 鏈表實現, 增刪快, 查找慢

由於鏈表實現, 增加時只要讓前一個元素記住自

己就可以, 刪除時讓前一個元素記住後一個元

素, 後一個元素記住前一個元素. 這樣的增刪效

率較高但查詢時需要一個一個的遍歷, 所以效率

較低

---|Vector: 和ArrayList原理相同, 但線程安全, 效率略低

和ArrayList實現方式相同, 但考慮了線程安全問

題, 所以效率略低

---|Set: 無存儲順序, 不可重複

---|HashSet

---|TreeSet

---|LinkedHashSet

---| Map: 鍵值對

---|HashMap

---|TreeMap

---|HashTable

---|LinkedHashMap

為什麼出現這麼多集合容器,因為每一個容器對數據的存儲方式不同,這種存儲方式稱之為數據結構(data structure)

注意 集合和數組中存放的都是對象的引用。

1.1. 什麼時候該使用什麼樣的集合

Collection

我們需要保存若干個對象的時候使用集合。

List

如果我們需要保留存儲順序, 並且保留重複元素, 使用List.

如果查詢較多, 那麼使用ArrayList

如果存取較多, 那麼使用LinkedList

如果需要線程安全, 那麼使用Vector

Set

如果我們不需要保留存儲順序, 並且需要去掉重複元素, 使用Set.

如果我們需要將元素排序, 那麼使用TreeSet

如果我們不需要排序, 使用HashSet, HashSet比

TreeSet效率高.

如果我們需要保留存儲順序, 又要過濾重複元素, 那麼使用LinkedHashSet

現在想學習不知道如何入門?找不到自學教程?別急!小編為你準備好了。

《JAVA300集》由北京尚學堂科技高淇老師+北大教授領銜錄製,廣受好評。2019年新版課程基於JDK8錄製,特點:

1. 全面講解JAVA 基礎技術點

2. 深入(內存分析、JDK 源碼講解)

3. 手把手敲代碼(讓學生理解每個字符來源和老師思考過程)

4. 項目穿插(以項目帶教學,學生更強)

《JAVA300集》推出四年來,受到了廣泛好評,成為多所985 高校推薦學習的視頻,甚至北大教授都對學生做強力推薦。

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

下面檸檬給大家大概說一下教程目錄

1. java入門階段

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

2. 面向對象基礎

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

3. 飛機小項目(java入門和對象練習)

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

4. 面向對象深入和數組深入

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

5.常用類

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

6_異常機制

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

7.容器和數據結構

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

8_IO流技術

從入門到大神(細講 java“集合”基礎)附贈北大300集java教程

由於篇幅原因,檸檬就簡單介紹到這裡,需要的小夥伴可以 轉發本文+關注並私信檸檬:“資料”,就可以免費領取這套北大教授推薦的java300集全套視頻自學教程哦!

轉發+關注+私信“資料”

希望對大家有所幫助!


分享到:


相關文章: