List集合學習筆記

2021-06-20 15:03:51 字數 1712 閱讀 6704

----------------------

asp.net+unity開發、

.net培訓、期待與您交流! ----------------------

集合: 1特點:集合中存放的都是物件,長度是不可變的,陣列可以存放基本資料型別,長度不可變。

2框架:collection 

list //元素是有序的,元素可以重複,因為該集合體系有索引,特有的迭代器,listiterator是iterator的子介面,只能用迭代器來操作元素,iterator方法有限,只能提供新增、修改等,listiterator可以提供更多的方法。

arraylist //底層的資料結構使用的是陣列結構。特點:查詢速度快,但是增刪稍慢。執行緒不同步。

add()方法,引數是object型別的物件,集合裡面存放的都是物件的引用位址。

add(索引,物件) 在指定位置新增元素

set(索引,物件) 修改元素

get(索引) 得到相應的元素

remove()刪除集合中的某個元素。

clear()清空集合

contains() 是否包含某個元素

isempty()集合是否為空

retainall(集合) 取兩個集合的交集。

removeall(集合)去掉兩個集合重複的部分

//迭代時不允許修改集合,否則發生異常。

iterator it=集合.iterator()

while (it.hasnext())

indexof(元素) 獲取元素的索引

sublist(1,3) 擷取集合 返回集合型別

linkedlist//底層使用的鍊錶資料結構。 特點:查詢速度慢,增刪快。

//特有方法

addfirst()//新增元素

addlast()

getfirst()//獲取元素,如果集合中沒有元素,會出現異常

getlast()

removefirst()//刪除元素,返回值是刪除的元素,如果集合中沒有元素,會出現異常

removelast()

版本後提供一下方法,替代以上的方法

offerfirst()//新增元素

offerlast()

peekfirst()//得到元素,如果集合中沒有元素,返回null.

peeklast()

pollfirst()//刪除元素,如果集合中沒有元素,返回null.

polllast()

vector//底層是陣列資料結構。1.0版本時的集合,被arraylist代替,執行緒同步。

列舉是vector特有的取去方式,和迭代器是一樣的,列舉取資料方式的名字和方法名字都過長,被迭代取代。

set //元素是無序的(存入和取出是不一定一致),元素不可以重複。

hashset//底層資料結構是雜湊表,通過hashcode和equals來判斷是否重複,首先判斷hashcode,如果一樣在判斷equals。注意:對於判斷元素是否存在,以及刪除等操作依賴於hashcode和equals兩個方法。

treeset//底層資料結構是二叉樹結構,可以對集合中元素排序,集合中的元素需要實現comparable介面,建立介面時,可以傳入乙個比較器(實現comparator介面)覆蓋compare方法。

----------------------

asp.net+unity開發、

.net培訓、期待與您交流! ----------------------詳細請檢視:

Java 回顧筆記 集合框架 list集合

集合框架 list和set的特點 集合框架 list集合的常見方法 因為list是conllection的子介面 所以具備父類的功能。我們下面只說出他特有的功能即可 集合框架 listiterator介面 只有list有 get 方法 而iterator 是通用的取出方式.使用迭代器 的途中使用集合...

List集合的遍歷學習

定義乙個簡單的arraylist集合進行遍歷 public static void main string args system.out.println 第二種遍歷方法 for int i 0 ilistiterators as.listiterator while listiterators.h...

List學習筆記

list 特點 1.有序。2.可重複。arraylist 底層是陣列,陣列是有下標的。會自動擴容,底層預設初始化容量是10,擴大之後的容量預設是原來容量的一半 jdk 1.8 以前好像是原容量的1.5倍 private void grow int mincapacity vector 底層也是陣列,...