1. 程式人生 > >Java_集合特點

Java_集合特點

Collection
 是下面集合的父介面,有自己的方法等
 是繼承與Iterable介面的
 有迭代器
◆~|------List
  是Collection下的一個子介面。
  特點;有序,而且是可重複的。
  方法和Collection一樣 
  擁有自己特有的迭代器
   
  |------ArrayList()
      是LIST下的一個主要的實現類
      是一個執行緒不安全的,但是效率高(現在的安全機制很多都部署在伺服器,
      交換機,路由器等)
      有特有的方法。
  特點;
      查詢快,增刪慢,因為底層是使用典型的陣列來儲存的。所以每次刪除增
      都要移動陣列所有元素的下標
  |------LinkedList()
  是LIST下的一個子類,而且增加Vector下的Stack子類的特性,和方法。
  1.具有FIFO先進先出的佇列結構
  2.具有FIFL先進後出的棧結構(槍)
 
 
  特點;
      適合頻繁的插入,刪除,不適合查詢,因為底層是採用連結串列陣列的方式
      進行儲存的,而每個元素的第一個角標是指向其上一個元素,最後一個角標
      指向最後一個元素。第一個元素的角標和最後一個元素的角標都是null
    
  |------Vector()
  是一個古老的實現類,是執行緒安全的,效率低。所以現在基本都不採用,基本用於
  維護以前的程式
 
  |------Stack()
  是一個棧特性的類,位於VECTOR下的一個子類。
  特點;
      FILO先進後出,後出先進的特性
◆~|------Set
是COLLECTION下的一個子介面,
特點是無序的,不可重複的
  |------HashSet()
  是SET下的一個主要的實現類,儲存的元素在是無序的,不可重複的。
 
  |------LinkedHashSet()
  是SET下的一個子類,是按照新增進去的元素的新增順序進行排序輸出,而不會造成
  一個亂序。
  適合對於頻繁的遍歷,較少的刪除,操作。
  
  |------TreeSet()
  是SET下的一個子類,按照新增元素(非自定義類)進去的升序(從小到大排序)
  如果要使用降序(從大到小)進行排序則需要重寫Comparator的compare()方法
 
  如果是自定義類,要求自定義類實現Comparable介面,否則無法新增進集合中,會
  報錯。
  如果實現了Comparable介面之後則在重寫comparaTo()方法時則可以按照需求進行
  一個排序,而comparaTo()介面相等則返回正整數,不相等返回負數
  相等返回0。
  如果在自定義類實現了COMPARABLE介面之後不符合要求可以使用Comparator介面,
  重寫compare()方法。
  COMPARABEL中的COMPARE方法比COMPARATOR中的COPATRE方法的優先順序低。
 
  如果重寫了COMPARATBLE或COMPARATOR介面中的方法,建議同時重寫HASHCODE和EQUALS
  方法,避免使用COMPARABLE或COMPARATOR介面中的方法時,比較如果相等
  而內容不相等則不會不讓其新增。
  
  注;建議使用SET時重寫HASHCODE和EUQALS方法同時重寫,
  因為HASHCODE是計算一個元素位於記憶體儲存的一個雜湊值,這個值不是唯一的。
  所以建議同時重寫EQUALS方法,避免出現相同的HASHCODE碼,內容一樣,也可以加入
  進來。
  如果2個元素EQUALS相同那麼他們的HASHCODE必須相同,
  在使用SET時,是先計算HASHCODE碼,在進行一個比較
  如果是使用EQUALS,則先進行EQUALS在計算HASHCODE碼
 
 
==================================================================================================


泛型(Generic)
是在JDK5.0出現新特性
作用;
安全,使得使用者無法隨意的輸入型別,破壞程式的。
增加程式的安全性。
適用;
確定集合是某單個型別的。
包裝類
使得程式更有擴充套件性
包裝類中增加了N個方法(進位制的轉換)
因為java是面向物件的語言,而基本資料型別則不是物件,則有了包裝類,每一個基本資料
型別都對應則一個包裝類
轉換成字串。toString()      String.valueOf()
基本資料型別轉換。    Integer.value()     Integer.parseInt()
字串轉換包裝類      integer.parse型別()


      Map
      是一個和Collection同級的類,擁有鍵和值,單位是entry。鍵和值是成對出現的。
      鍵是不可以重複的(SET),值是可重複的(Collection)
      鍵和值可以同時為null。但鍵為null只能有一個。
      儲存是無序。
|------HashMap
儲存是無序的。是主要的實現類。可以新增null鍵和null值
|------LinkedHashMap
按照新增進行的key元素進行排序和遍歷
|------TreeMap
按照KEY所在類的指定屬性進行排序,要求KEY是同一個類的物件,對KEY考慮使用定製排序
和自然排序

|------Hashtable
是一個古老是實現類,是一個執行緒安全的,效率低,不可以新增null鍵和null值。
如果要新增null鍵和null值不建議使用
    |-----Propertics
    常用來處理屬性檔案
   
   
   
==================================================================================================


Collections

是一個工具類,方法都是靜態方法,可以使用靜態匯入,這個類中封裝了N個方法,用於操作集合。