集合的基本用法和基本實現類(自己總結)

2021-09-25 00:27:24 字數 1636 閱讀 3471

一、集合與陣列的區別

集合:只用於存放引用資料型別,長度可以變換。list 有序存放(可以存重複物件),set無序存放(不能存放重複物件)

陣列:可以用於存放基本資料型別也可以存放引用資料型別,可以存放重複物件,有序排列。

二、集合的整體框架

1.集合根 介面 collection<>

2.子介面 list<>,set<>

3.list<>的實現類(常用):(1)arraylist<> (2) linkedlist (3) vector

4.set<>的實現類(常用): (1)hashset<> (2)treeset<>

三、詳細介紹

1.collection<> 所有集合的根介面:(有序存放)

內部提供了常用方法:

collection <>介面的實現類都重寫了tostring()方法,所以可以直接通過system.out.println(物件名)來檢視整個集合中的元素。

2. list<>介面:

(1)可以存放相同的元素。

(2)保證存放順序。

(3)可以根據索引來查詢元素。

內部的常用方法:

2.1 arraylist<>實現類(開發時常用

(1)底層是陣列,適合遍歷,不適合增刪改查。

(2)執行緒不安全,效率高。

2.2linkedlist<>實現類

(1)底層是鍊錶,適合增刪改查,不適合遍歷。

(2)執行緒安全,效率低。

2.3vector<>實現類

(1)底層是陣列,適合遍歷,不適合增刪改查。

(2)執行緒安全,效率低。

3.set<>介面

(1)無序存放元素。

(2)不能存放相同元素。

3.1hashset<>實現類

(1)底層使用陣列加鍊表形式存放資料。

(2)根據存放元素的hash值,經過雜湊表演算法後放入相應陣列中的鍊錶中去。

(3)判斷是否同一物件:根據hash值和equals 方法:

因為:(1)如果o1.equals(o2),那麼o1.hashcode() == o2.hashcode()總是為true的。

(2)如果o1.hashcode() == o2.hashcode(),並不意味著o1.equals(o2)會為true。

3.1treeset<>實現類

(1)底層使用紅黑樹儲存資料。

(2)構造方法 1. treeset<>();

空參的構造方法,採用自然排序,存放資料按照自然排序存放。第乙個資料為根節點,然後接下來每個資料進行比較,大的放右邊,小的放左邊。

2.treeset(comparator super e> comparator)

構造乙個新的空 treeset,它根據指定比較器進行排序。

根據使用者自定義的比較器來存放資料。

Map集合的概述和基本用法

一 map集合的概述 a map集合的概述 map集合和collection集合有所不同 map 是成對出現的,有就是說他是乙個雙列集合,map集合裡面的元素是由鍵和值組成。由於是成對出現我們可以理解成為夫妻 注意 map集合中的鍵是不能重複的,但是值可以重複,乙個鍵只能對應乙個值 b map和co...

Python集合基本用法

author f list 1 1,4,6,8,6,34,77 list 1 set list 1 列表轉集合 集合和字典一樣 都是無序的 print list 1,type list 1 list 2 set 4,5,6,98,2,5 print list 1,list 2 交集print lis...

NSScanner類的基本用法

nsscanner是乙個類,用於在字串中掃瞄指定的字元,尤其是把它們翻譯 轉換為數字和別的字串。可以在建立nsscaner時指定它的string屬性,然後scanner會按照你的要求從頭到尾地掃瞄這個字串的每個字元。建立乙個scanner nsscanner是乙個類族,nsscanner是其中公開的...