日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA中的Hashset类

發布時間:2024/4/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA中的Hashset类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HashSet擴展AbstractSet并且實現Set接口。它創建一個類集,該類集使用散列表進行存

儲。正像大多數讀者很可能知道的那樣,散列表通過使用稱之為散列法的機制來存儲信息。

在散列(hashing)中,一個關鍵字的信息內容被用來確定唯一的一個值,稱為散列碼(hash

code)。而散列碼被用來當做與關鍵字相連的數據的存儲下標。關鍵字到其散列碼的轉換

是自動執行的——你看不到散列碼本身。你的程序代碼也不能直接索引散列表。散列法的

優點在于即使對于大的集合,它允許一些基本操作如add( ),contains( ),remove( )和size( )

方法的運行時間保持不變。

下面的構造函數定義為:

HashSet( )

HashSet(Collection c)

HashSet(int capacity)

HashSet(int capacity, float fillRatio)

第一種形式構造一個默認的散列集合。第二種形式用c中的元素初始化散列集合。第三

種形式用capacity初始化散列集合的容量。第四種形式用它的參數初始化散列集合的容量和

填充比(也稱為加載容量)。填充比必須介于0.0與1.0之間,它決定在散列集合向上調整大

小之前,有多少能被充滿。具體的說,就是當元素的個數大于散列集合容量乘以它的填充

比時,散列集合被擴大。對于沒有獲得填充比的構造函數,默認使用0.75。

HashSet沒有定義任何超過它的超類和接口提供的其他方法。

重要的是,注意散列集合并沒有確保其元素的順序,因為散列法的處理通常不讓自己

參與創建排序集合。如果需要排序存儲,另一種類集——TreeSet將是一個更好的選擇。

這里是一個說明HashSet的例子。

// Demonstrate HashSet.

import java.util.*;

class HashSetDemo {

public static void main(String args[]) {

// create a hash set

HashSet hs = new HashSet();

// add elements to the hash set

hs.add("B");

hs.add("A");

hs.add("D");

hs.add("E");

hs.add("C");

hs.add("F");

System.out.println(hs);

}

}

下面是該程序的輸出:

[A, F, E, D, C, B]

如上面解釋的那樣,元素并沒有按順序進行存儲。


轉載于:https://blog.51cto.com/gomic/1375827

總結

以上是生活随笔為你收集整理的JAVA中的Hashset类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。