基礎回覆, 集合

2021-10-07 16:59:20 字數 3174 閱讀 3661

collection介面:單列集合祖介面
1.陣列和集合的區別:

相同點: 都是容器,可以儲存多個資料.

不同點: 陣列的長度是不可變的,集合的長度是可變的

陣列可以儲存基本資料型別和引用資料型別,集合只能存引用資料型別

2.linkedlist 和arraylist區別 :

linkedlist查詢慢,增刪快,底層為鍊錶結構

arraylist查詢快,增刪慢 ,底層為陣列結構 

collection集合常用方法(所有單列集合都通用方法)

方法名 說明

boolean add(e e) 新增元素

boolean remove(object o) 從集合中移除指定的元素

boolean removeif(object o) 根據條件進行移除

void clear() 清空集合中的元素

boolean contains(object o) 判斷集合中是否存在指定的元素

boolean isempty() 判斷集合是否為空

int size() 集合的長度,也就是集合中元素的個數

collection集合的遍歷:

1.迭代器遍歷: iterator():

2.增強for遍歷 物件名.for

list集合

特點:  有序集合,這裡的有序指的是訪問順序 (存入523,取出也是523);

允許有重複元素,同時有索引,可以用fori遍歷集合

list集合的特有方法(arraylist.linkedlist通用方法)

方法名 描述

void add(int index,e element) 在此集合中的指定位置插入指定的元素

e remove(int index) 刪除指定索引處的元素,返回被刪除的元素

e set(int index,e element) 修改指定索引處的元素,返回被修改的元素

e get(int index) 返回指定索引處的元素

linkedlist(繼承list集合):底層為鍊錶結構

特有方法:

方法名 說明

public void addfirst(e e) 在該列表開頭插入指定的元素

public void addlast(e e) 將指定的元素追加到此列表的末尾

public e getfirst() 返回此列表中的第乙個元素

public e getlast() 返回此列表中的最後乙個元素

public e removefirst() 從此列表中刪除並返回第乙個元素

public e removelast() 從此列表中刪除並返回最後乙個元素

arraylist(繼承list集合):

常用方法 :

public boolean remove(object o) 刪除指定的元素,返回刪除是否成功

public e remove(int index) 刪除指定索引處的元素,返回被刪除的元素

public e set(int index,e element) 修改指定索引處的元素,返回被修改的元素

public e get(int index) 返回指定索引處的元素

public int size() 返回集合中的元素的個數

set集合(本身是乙個介面):繼承自collection

hashset和treeset : 當不需要指定排序時,可以預設使用hashset

特點: 不可以儲存重複元素.   沒有索引,不能使用fori遍歷.

treeset集合(繼承set集合):底層結構為紅黑樹

特點:不可以儲存重複元素.   沒有索引   可以將元素按照規則進行排序;

treeset():根據其元素的自然排序進行排序

treeset(comparator comparator) :根據指定的比較器進行排序

** 推薦使用排序器,在new物件是,使用有參構造,(new comparable)通過匿名內部類或者lamdba排序**

hashset集合(繼承自set): 底層為雜湊表,由陣列鍊錶紅黑樹構成

特點:底層資料結構是雜湊表 .  訪問無序 .   不可以儲存重複性元素,並且無索引

雜湊值: 通過hashcode()方法計算,如果需要不同物件不同雜湊值,需要重寫hashcode方法

map集合:雙列集合

概述:   inte***ce mapk:鍵的型別;v:值的型別

特點:   雙列集合,乙個鍵對應乙個值  , 鍵不可以重複,值可以重複

map集合的基本功能【應用】

方法介紹

方法名 說明

v put(k key,v value) 新增元素

v remove(object key) 根據鍵刪除鍵值對元素

void clear() 移除所有的鍵值對元素

boolean containskey(object key) 判斷集合是否包含指定的鍵

boolean containsvalue(object value) 判斷集合是否包含指定的值

boolean isempty() 判斷集合是否為空

int size() 集合的長度,也就是集合中鍵值對的個數

map集合的獲取功能【應用】

方法介紹

方法名 說明

v get(object key) 根據鍵獲取值

set keyset() 獲取所有鍵的集合

collection values() 獲取所有值的集合

set> entryset() 獲取所有鍵值對物件的集合

map集合的遍歷方式: 獲取所有鍵的集合,使用entryset()方法實現,返回乙個所有鍵的集合,遍歷集          合,用get方法分別獲取其中每乙個鍵和值即可

hashmap集合:(繼承map介面):底層為雜湊表,由陣列鍊錶紅黑樹構成

hashmap集合概述和特點【去重】

hashmap底層是雜湊表結構的

依賴hashcode方法和equals方法保證鍵的唯一

如果鍵要儲存的是自定義物件,需要重寫hashcode和equals方法

treemap集合:底層由紅黑樹構成

treemap集合概述和特點【排序】

treemap底層是紅黑樹結構

依賴自然排序或者比較器排序,對鍵進行排序

如果鍵儲存的是自定義物件,需要實現comparable介面或者在建立treemap物件時候給出比較器排序規則

Java基礎 集合

1 集合的型別和各自的特性 collection 單列集合 list 有儲存順序 可重複 arraylist 陣列實現,查詢快,增刪慢,由於是陣列實現,在增和刪的時候會牽扯到陣列增容,以及拷貝元素 所以慢。陣列是可以直接按索引查詢,所以查詢時較快 linkedlist 鍊錶實現,增刪快,查詢慢由於鍊...

python基礎 集合

集合 1.集合的定義 集合是乙個無序的,不重複的資料組合 2.集合關係測試操作 交集 list 1.intersection list 2 並集 list 1.union list 2 差集 list 1.difference list 2 list 2.difference list 1 對等差分...

Python基礎 集合

python的set和其他語言類似,是乙個無序不重複元素集,基本功能包括關係測試和消除重複元素.集合物件還支援union 聯合 intersection 交 difference 差 和sysmmetric difference 對稱差集 等數 算.sets 支援 x in set,len set ...