1. 程式人生 > >Java基礎知識之集合

Java基礎知識之集合

hashcode 數據結構 false hset 自動生成 linked arraylist 相同 spa

Collection集合

  特點:長度可變,只能存儲引用類型,可以存儲不同的類型的元素

list

  特點:元素有序(存儲和取出的順序一致),可以重復

  • LinkedList

  數據結構:底層數據結構是數組,查詢快,增刪慢。線程不安全,效率高

  • ArrayList

  數據結構:底層數據結構是鏈表,查詢慢,增刪快。線程不安全,效率高

  • Vector

  數據結構:底層數據結構是數組,查詢快,增刪慢。線程安全,效率低。  

set

  特點:元素無序,唯一

  • HashSet 

數據結構:底層數據結構是哈希表。哈希表底層依賴兩個方法:hashCode()和equals()。


存儲數據時的判斷順序:
  1.首先判斷對象的hashCode()是否相同。
  2.是:繼續走equals(),看其返回值是
    true:說明元素重復了,不添加。
    false:就直接添加到集合。
   否:就直接添加到集合。

用的時候看到Hash結構的集合,我們就可能需要重寫hashCode()和equals()。並且,我們也不用自己寫,可以自動生成。

  • TreeSet

Java基礎知識之集合