集合 : 用存放物件的容器(集合)
collection : 跟介面 : 單列集合
---> list :有序的 ,元素是可以重複的。
---> set : 無序的 ,元素是不可以重複的。
collectionz紅常用的方法:
增add();新增乙個元素
addall();a.addall(b) 將b中的元素新增到a中。
刪remove(object o); 移除指定的物件。
removeall(collection c);a.removeall(b); 刪除a中含有b的元素。
clear(); 清空所有的元素
判斷:contains(object); 判斷集合中是否含有某乙個物件。 實際上還是以equals來比較的物件。
如果比較的自定義的物件 這個時候可能需要重寫equals和hashcode方法。
containsall(collection c); a.containsall(b);判斷a中是否包含有b集合。
isempty() : 判斷集合是否為空。
將集合轉為陣列 :
toarray(); 陣列是乙個物件陣列。遍歷集合的方法。
集合比陣列的優勢:
1.集合可以存任意型別的物件,長度的可變的
2.陣列只能同一種型別變數,長度是固定的。
3.集合中只能存物件
list集合 : 介面 提供公有的方法
特有的方法:
1.list中的特有方法都是通過下標來操作元素。
查詢 :
add(int index, object o) ; 新增元素到指定的位置。
get(int index);獲取集合中指定位置的元素。
set(int index,object o); 用來修改集合中指定位置元素的值。
迭代器:
作用:操作集合中元素。 可以增刪改查
根迭代器 : iterator 介面 集中獲取迭代器 :通過集合中方法來獲取。
collection 集合中獲取迭代器:iterator();
迭代器中的方法:
hasnext(); 判斷當前指標指向的位置是否有元素
next(); 獲取當前指標指向的元素,並且指標下移一位
remove(); 移除最後操作時指標指向的元素。
listiterator :
特有方法:
hasprovious();判斷當前指標指向的上乙個位置是否存在元素。
provious(); 獲取上乙個元素。
proviousindex();獲取上乙個元素所在的位置。
add(); 在當前指標指向的位置新增乙個元素
set(); 修改當前指標指向的元素。
注意點:
1.add 和 set 不能過同時使用。
2.如果你是用了迭代器來操作元素,那麼就不用再用集合來操作元素了。
arraylist : 底層是維護乙個objecto陣列,預設容量是10 ,如果容量不夠增加到原來的1.5倍。
優點 : 查詢快 ,增刪慢。
trimtosize();調整集合的容量和資料保持一致。
ensurecapacity(int mincapacity) 自定容量。
linkedlist : 鏈結列表實現, 特點:新增元素比較快,查詢慢。
Collection集合概述,List
集合的父介面 用於定義儲存多種資料型別的集合。集合中儲存何種資料使用泛型進行限定。主要定義的方法 boolean add e e 新增資料到集合中 boolean addall collection c 將指定 collection 中的所有元素都新增到此 collection 中 void cle...
Collection集合,List集合
一 collection集合 a collection 集合 單身漢集合 list 特點 有序,可重複,有索引 arraylist 重點掌握 linkedlist 儲存的元素不可重複,訪問順序一致 set 無序,元素不可重複,元素無索引 hashset 重點掌握 linkedhashset tree...
Collection中的List介面和Set介面
list和set的區別 list存放有序的,可重複的元素。list中元素的存放順序是按元素的插入時間一次往後排列來的。set存放無序的,不可重複的元素 前提是如果新增的元素是早定義的類的話那必須得重寫hashcode 和equals 方法 set中元素的存放順序與元素的插入時間無關,是根據元素的ha...