LinkedList中特有的方法:數組
1:方法介紹安全
addFirst(E e)數據結構
addLast(E e)spa
getFirst()線程
getLast()對象
removeFirst()排序
removeLast()繼承
若是集合中沒有元素,獲取或者刪除元接口
素拋:NoSuchElementException : 沒有找到元素的異常隊列
2:數據結構 : 可用來描述棧結構存儲數據
1:棧 (1.6)
先進後出 :棧的結構
push()
pop()
2:隊列(雙端隊列1.5)
先進先出
offer()
poll()
3:返回逆序的迭代器對象
descendingIterator() 返回逆序的迭代器對象
Vector :用來描述線程安全的ArrayList 和ArrayList 的使用同樣 只是線程更安全一些
Vector 和Arrays 的區別
相同點:vector 和ArrayList底層 都是經過Object數組來實現的
不一樣點:
Vector 線程是同步的 操做效率低
Set集合 也是一個集合:繼承Collection接口 特色:是無序的 、元素不能重複 元素不能用下標取得
TreeSet :使用元素的天然順序對元素進行排序,底層使用二叉樹實現
Treeset 使用注意點:
1.往treeSet添加對象的時候,若是對象有這個天然排序的特性,就按照這個天然排序進行排序
2.往TreeSet添加對象的時候,若是對象自己不具有天然排序的特性,運行的時候直接報錯,若是須要存儲對象,那麼對象的類必需要實現comparable 接口 把元素的比較的規則定義在comparato 方法中
3.往TreeSet 添加對象的時候,若是對象自己不具有天然排序的特性,而且沒有實現comparable 接口 ,那麼這個時候須要建立一個TreeSet的時候傳入一個比較器,而且實現public int compare(Object o1, Object o2) 方法
比較器的定義方式:
class 類名 implements Compartor{
}
實現compare方法
public int compare(Object o1, Object o2) {
TODO Auto-generated method stub
o1 o2 集合中的對象 : book
//定義比較的規則。
Book b1 = (Book)o1;
Book b2 = (Book)o2;
return b1.id - b2.id;
}
4.若是類中實現了Comparable 接口 又在建立TreeSet時傳入了一個比較器 ,這個時候以比較器爲標準。