set介面:儲存無序的、不可重複的資料
以hashset為例說明:
1. 無序性:不等於隨機性。儲存的資料在底層陣列中並非按照陣列索引的順序新增,而是根據資料的雜湊值決定的。
2. 不可重複性:保證新增的元素按照equals()判斷時,不能返回true.即:相同的元素只能新增乙個。
新增元素的過程:
對於新增成功的情況2和情況3而言:元素a 與已經存在指定索引位置上資料以鍊錶的方式儲存。
jdk 7 :元素a放到陣列中,指向原來的元素。
jdk 8 :原來的元素在陣列中,指向元素a
總結:七上八下
集合框架之 set集合
物件重複是指物件裡面的變數的值都相等,並不定是位址。list集合儲存的型別是基礎型別還比較好辦,直接把list集合轉換成set集合就會自動去除。當set集合儲存的是物件型別時,需要在物件的實體類裡面重寫public boolean equals object obj 和 public int has...
集合之Map(隨筆)
總結 常用方法 遍歷所有的key集 keyset set set map.keyset iterator iterator set.iterator while iterator.hasnext 遍歷所有的value集 values collection values map.values for ...
API集合框架 Set集合之HashSet
set集合中不允許有相同的元素,並且取出集合中的元素的方式只有一種 迭代器 雜湊表 用於儲存元素與雜湊值對應的關係的容器 一.雜湊表特點 二.雜湊演算法原理 hashcode方法 hash element 因此從這裡可以看出來當我們從雜湊表中取出元素的時候,會發現與我們儲存元素的順序不一樣 三.雜湊...