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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java哈希_Java Hashtable 类

發布時間:2024/9/19 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java哈希_Java Hashtable 类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java Hashtable 類

Hashtable是原始的java.util的一部分, 是一個Dictionary具體的實現 。

然而,Java 2 重構的Hashtable實現了Map接口,因此,Hashtable現在集成到了集合框架中。它和HashMap類很相似,但是它支持同步。

像HashMap一樣,Hashtable在哈希表中存儲鍵/值對。當使用一個哈希表,要指定用作鍵的對象,以及要鏈接到該鍵的值。

然后,該鍵經過哈希處理,所得到的散列碼被用作存儲在該表中值的索引。

Hashtable定義了四個構造方法。第一個是默認構造方法:

Hashtable()

第二個構造函數創建指定大小的哈希表:

Hashtable(int size)

第三個構造方法創建了一個指定大小的哈希表,并且通過fillRatio指定填充比例。

填充比例必須介于0.0和1.0之間,它決定了哈希表在重新調整大小之前的充滿程度:

Hashtable(int size,float fillRatio)

第四個構造方法創建了一個以M中元素為初始化元素的哈希表。

哈希表的容量被設置為M的兩倍。

Hashtable(Map m)

Hashtable中除了從Map接口中定義的方法外,還定義了以下方法:

序號

方法描述

1

void clear( )

將此哈希表清空,使其不包含任何鍵。

2

Object clone( )

創建此哈希表的淺表副本。

3

boolean contains(Object value)

測試此映射表中是否存在與指定值關聯的鍵。

4

boolean containsKey(Object key)

測試指定對象是否為此哈希表中的鍵。

5

boolean containsValue(Object value)

如果此 Hashtable 將一個或多個鍵映射到此值,則返回 true。

6

Enumeration elements( )

返回此哈希表中的值的枚舉。

7

Object get(Object key)

返回指定鍵所映射到的值,如果此映射不包含此鍵的映射,則返回?null. 更確切地講,如果此映射包含滿足?(key.equals(k))?的從鍵?k?到值?v?的映射,則此方法返回?v;否則,返回?null。

8

boolean isEmpty( )

測試此哈希表是否沒有鍵映射到值。

9

Enumeration keys( )

返回此哈希表中的鍵的枚舉。

10

Object put(Object key, Object value)

將指定?key?映射到此哈希表中的指定?value。

11

void rehash( )

增加此哈希表的容量并在內部對其進行重組,以便更有效地容納和訪問其元素。

12

Object remove(Object key)

從哈希表中移除該鍵及其相應的值。

13

int size( )

返回此哈希表中的鍵的數量。

14

String toString( )

返回此?Hashtable?對象的字符串表示形式,其形式為 ASCII 字符 ",?" (逗號加空格)分隔開的、括在括號中的一組條目。

實例

下面的程序說明這個數據結構支持的幾個方法:

import java.util.*;

public class HashTableDemo {

public static void main(String args[]) {

// Create a hash map

Hashtable balance = new Hashtable();

Enumeration names;

String str;

double bal;

balance.put("Zara", new Double(3434.34));

balance.put("Mahnaz", new Double(123.22));

balance.put("Ayan", new Double(1378.00));

balance.put("Daisy", new Double(99.22));

balance.put("Qadir", new Double(-19.08));

// Show all balances in hash table.

names = balance.keys();

while(names.hasMoreElements()) {

str = (String) names.nextElement();

System.out.println(str + ": " +

balance.get(str));

}

System.out.println();

// Deposit 1,000 into Zara's account

bal = ((Double)balance.get("Zara")).doubleValue();

balance.put("Zara", new Double(bal+1000));

System.out.println("Zara's new balance: " +

balance.get("Zara"));

}

}

以上實例編譯運行結果如下:

Qadir: -19.08

Zara: 3434.34

Mahnaz: 123.22

Daisy: 99.22

Ayan: 1378.0

Zara's new balance: 4434.34

總結

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

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