欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java hashset 和set

錢艷冰1年前8瀏覽0評論

Java中的HashSet和Set都是集合類,可以用來存儲一組不重復的元素。其中HashSet是Set的一個子類,HashSet是基于HashMap實現的,它是一種哈希表,可以用來存儲不同的對象。而Set是Java中一個接口,它定義了一些方法,比如添加元素、刪除元素、判斷集合是否為空等。

HashSet可以存儲任何類型的對象,但是要注意的是,如果要將自定義類對象存儲在HashSet中,需要重寫類的equals()和hashCode()方法,否則無法識別元素是否重復。而對于基本類型,存儲在HashSet中是沒有問題的。

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("orange");
set.add("apple");
System.out.println(set.size()); //輸出3,因為重復的"apple"元素只存儲了一次

上述代碼中,我們創建了一個HashSet集合,添加了四個元素,其中有兩個是重復的。由于HashSet集合不允許元素重復,因此只存儲了一個"apple"元素,最終輸出集合大小為3。

Set接口也提供了一些實現類,比如TreeSet、LinkedHashSet等。TreeSet是基于TreeMap實現的,它能夠保證集合中的元素有序,默認按升序排列。而LinkedHashSet則是通過鏈表來維護元素的插入順序,可以保證元素按照插入的順序訪問。

Set<String> set = new TreeSet<>();
set.add("apple");
set.add("banana");
set.add("orange");
set.add("apple");
System.out.println(set); //輸出[apple, banana, orange]

上述代碼中,我們使用TreeSet來存儲元素,由于TreeSet能夠保證元素有序,因此輸出的結果是按照字母排序的。同時,由于TreeSet不允許元素重復,因此只存儲了一個"apple"元素。

總的來說,HashSet和Set都是Java中常用的集合類,它們在存儲元素時都要一些特定的規則。我們需要根據具體的需求選擇合適的集合類來使用。