二 set (set:注重獨一無二的性質,該體系集合可以知道某物是否已近存在於集合中,不會儲存重複的元素)
set集合的子集合 hashset 按照雜湊演算法來訪問集合中的物件 訪問速度比較快
當程式向hashset中 add()的乙個物件的時候, 先用hashcode方法計算出該物件的雜湊碼 雜湊碼不一致 新增 雜湊碼一致
不新增 相同物件不新增 然後用equals判斷物件的屬性是否一致 比較結果為false就新增 true就不新增 不同物件新增
hashset
在用set集合的時候我幾乎用的都是hashset,hashset是使用hash表實現的,集合裡面的元素是無序得,可以有null值,但是不能有重複元素。
特點:因為相同的元素具有相同的hashcode,所以不能有重複元素
基本資料型別包裝類/string 已經重寫了hashcode 和 equals 會自動比較
自定義實現類要重寫其hashcode和equals方法,規定自定義類的比較規則來排重.
linkedhashset 特點:
1.有序(訪問一致)
是set集合中唯一乙個能保證怎麼存就怎麼取的集合物件
2.排重
3.底層是雙向鍊錶 hashset的方法怎麼用 linkedhashset就怎麼用 treeset 二叉樹 實現了sortedset介面 能夠對集合中物件進行排序
特點:1.排序的(公升序) 自然排序 根據ascii表大小排序
2.排重
3.無序(訪問不一致)
4.底層是乙個二叉樹(左序中序右序)
5.只能儲存同一種型別 才能排序 不然就會出現轉換異常 自定義實現類 如何比較
treeset
treeset是用二叉樹結構實現的集合
特點:集合中的元素是有順序得,不允許放入null,同樣不能放入重複元素。
三、map
map介面中鍵和值一一對映. 可以通過鍵來獲取值。
給定乙個鍵和乙個值,你可以將該值儲存在乙個map物件. 之後,你可以通過鍵來訪問對應的值。
當訪問的值不存在的時候,方法就會丟擲乙個nosuchelementexception異常.
當物件的型別和map裡元素型別不相容的時候,就會丟擲乙個 classcastexception異常。
當在不允許使用null物件的map中使用null物件,會丟擲乙個nullpointerexception 異常。
當嘗試修改乙個唯讀的map時,會丟擲乙個unsupportedoperationexception異常。
hashmap特點:
treemap特點:
treemap 特殊方法:
treemap是基於紅黑樹實現的;
hashmap 是基於是雜湊值實現的;
java中的集合
set hashset無序不重複,底層資料結構是雜湊表,執行緒非同步,保證元素唯一性原理是判斷hashcode值是否相同 位址相同 如果相同還會繼續判斷equals方法是否為true 是否是同乙個物件 treeset字典序不重複,底層資料是二叉樹,保證元素唯一性原理是compareto方法retur...
Java中的集合
有序的 允許重複的 arraylist實現類 基於陣列實現 remove語句,刪除成功則返回true,不成功則返回false 注 不要在迭代時進行刪除,否則會出錯,可以使用迭代器自身的remove方法,如上。linklist實現類 基於鍊錶實現 與arraylist區別 越靠近頭部的新增刪除,arr...
java中的集合
1.1 collection介面 新增 add e e addall collectionc 刪除 clear 清空集合 remove object o 刪除乙個元素 removeall collection c 刪除兩個集合的交集部分 retainall collection c 刪除兩個集合沒有...