介紹完了list介面,我們來看看set介面。set介面:內部不可重複。set介面有兩個重要的實現類:hashset和treeset。
hashset屬於無序,雜湊存放,需要重寫equals和hashcode方法(hashcode相等,equals(內容)不一定相等;equals(內容)相等,hashcode一定相等)採用雜湊演算法實現的set,hashset的底層是用hashmap實現的,因此,查詢效率高。由於採用hashcode演算法直接確定元素的記憶體位址,增刪效率也高。
treeset:有序、依靠comparable介面排序,重寫了compareto方法。
hashset的兩種遍歷方式:
system.out.println("*****==iterator**********");
iteratorit=str.iterator();
while(it.hasnext())
system.out.println("*****==增強for迴圈**********");
for(string temp:str)
treeset的兩種遍歷方式:
iteratorit=set.iterator();
while(it.hasnext())
for(string str:set)
c STL容器(2)set容器
set翻譯為集合,是乙個內部自動有序且不含重複元素的容器 set的定義 set typename name set int vi set double vi set char vi set vi node可以是結構體 set int a 100 陣列裡面每個元素都是乙個set集合insert x 將...
Java集合框架總結(2) Set介面的使用
public class testset false struts2權威指南 說明 程式中,book集合兩次新增的字串物件明顯不是乙個物件 程式通過new關鍵字來建立字串物件 當使用 運算子判斷返回false,使用equals方法比較返回true,所以不能新增到set集合中,最後只能輸出乙個元素。s...
Java集合框架總結(2) Set介面的使用
public class testset false struts2權威指南 說明 程式中,book集合兩次新增的字串物件明顯不是乙個物件 程式通過new關鍵字來建立字串物件 當使用 運算子判斷返回false,使用equals方法比較返回true,所以不能新增到set集合中,最後只能輸出乙個元素。s...