List Set集合 Collections工具類

2021-08-30 06:29:13 字數 2360 閱讀 6935

1 list集合

(1)list是colleciton介面的乙個子介面,常用的實現類有arraylist  linkedlist

(2)list集合的特點

(1)儲存單個元素,元素可重複,可以儲存多個null

(2)儲存有序,存入順序和取出來的順序一致(例如:add(1);add(2);add(3); 遍歷列印集合  1,2,3);

(3)元素具有索引值,所以方法中很多都是具有索引值引數

(3)常用方法(省略collection中繼承的方法)

(1)public void add(int index,e element):新增新元素

(2)public e get(int index):獲取對應索引的元素

(3)public e remove(int index):移除對應索引的元素,返回被移除的元素

(4)public e set(int index,e element):替換對應索引的元素,返回被替換掉的元素

(4)常用子類

(1)arraylist

1)底層採用陣列結構,查詢快(直接根據索引獲取對應元素),增刪慢(新增或刪除某個元素,需要移動陣列中其他陣列,如果容量不夠,還要重新建立乙個陣列,將原來的資料拷貝進去,所以速度慢)

(2)linkedlist

1)底層採用雙向迴圈鍊錶,查詢慢(要獲取某個元素,需要逐級遍歷),增刪快(直接改變指位址指向即可)

2)linkedlist中特有的一些方法

1)public void addfirst(e e) :將指定元素插入此列表的開頭。

2)public void addlast(e e) :將指定元素新增到此列表的結尾。

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

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

5)public e removefirst() :移除並返回此列表的第乙個元素。

6)public e removelast() :移除並返回此列表的最後乙個元素。

7)public e pop() :從此列表所表示的堆疊處彈出乙個元素(內部呼叫removefirst)

8)public void push(e e) :將元素推入此列表所表示的堆疊(內部呼叫addfirst)

9)public boolean isempty() :如果列表不包含元素,則返回true

2 set集合(1)set是collection的乙個子介面,常用的實現類有hashset、treeset

(2)特點:

1)儲存單個元素,元素不能重複,可以儲存null,但只能出現一次

2)儲存元素不能保證儲存有序,是按照底層資料結構規則進行儲存;

3)儲存元素不具備索引值

(3)常用實現類

1)hashset

1)底層使用雜湊表結構,查詢速度快,基於hashmap實現,雜湊表結構如圖1(元素內部不同但出現計算的hash值相同,就把新元素掛載在舊元素,下形成鍊錶結構,jdk1.8後,如果掛載元素超過8個,從鍊錶變為紅黑樹結構,提高訪問速度);

2)被儲存的元素需要重寫hashcode和equals方法,hashset會自動呼叫這兩個方法來判斷元素是否重複

1)是hashset的子類,底層採用雜湊表+鍊錶的資料結構,實現了儲存的有序

3 collections工具類

(1)常用方法

1)public static boolean addall(collectionc, t... elements) :往集合中新增多個元素。

2)public static void shuffle(list> list) 打亂集合中元素順序。

3)public static void sort(listlist) :將集合中元素按照預設規則排序,元素需要實現comparable內部比較器  

4)public static void sort(listlist,comparator super t> ) :將集合中的元素按照傳入的外部比較器的規則進行排序,傳入外部比較器的方式比較靈活,一般選用這種方式進行比較。

List Set 集合概述

asp.net android ios開發 net培訓 期待與您交流!1 集合基本概念 collection定義了集合框架的共性功能。1 新增 add e addall collection 2 刪除 remove e removeall collection clear 3 判斷。contains...

List Set集合以及子類的特點

是有序 可重複 可以有null的集合,就像我們的陣列一樣。我們可以吧list理解為乙個長度可變了陣列,而且提供了豐富的api。arraylist 底層是陣列的原理,元素可以重複,有順序,長度不固定,不是執行緒安全的,效率高。arratlist長度的變化 arratlist在新增資料的時候,初始長度為...

集合類List Set 成員之間的區別

list 可以有重複元素的列表 子類 arraylist 有序排列的集合 順序就是插入的順序 能用iterator迴圈輸出 常用方法 add ee 將指定的元素新增到此列表的尾部。get int index 返回此列表中指定位置上的元素。remove 如果存在刪除首次出現的那個 size 列表的大小...