List集合學習筆記

---------------------- 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()) {
it.next();
it.add();//迭代器的添加元素的方法
it.set();//迭代器修改元素的方法
}
indexOf(元素) 獲取元素的索引
subList(1,3) 截取集合 返回集合類型
LinkedList//底層使用的鏈表數據結構。 特點:查詢速度慢,增刪快。
//特有方法
addFirst()//添加元素
addLast()
getFirst()//獲取元素,如果集合中沒有元素,會出現異常
getLast()
removeFirst()//刪除元素,返回值是刪除的元素,如果集合中沒有元素,會出現異常
removeLast()
//1.6版本後提供一下方法,替代以上的方法
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培訓、期待與您交流! ----------------------詳細請查看:http://edu.csdn.net
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章