集合 LinkedList、ArrayList、Set、Treeset

 

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數組來實現的

不一樣點:

  1. ArrayList   線程不一樣步  操做效率高  

  Vector  線程是同步的  操做效率低

  1. ArrayList 是在jdk1.2 出現的,vector  是在jdk1.0 就有了

 

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時傳入了一個比較器 ,這個時候以比較器爲標準。

相關文章
相關標籤/搜索