Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤與異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 其他

Java APIs 和框架

Java 類引用

Java 有用資源

Java - HashMap 類



HashMap 類使用雜湊表來實現 Map 介面。這使得即使對於大型集合,基本操作(例如 get() 和 put())的執行時間也能保持不變。

以下是 HashMap 類支援的建構函式列表。

序號 建構函式及描述
1

HashMap()

此建構函式構造一個預設的 HashMap。

2

HashMap(Map m)

此建構函式使用給定 Map 物件 m 的元素初始化雜湊對映。

3

HashMap(int capacity)

此建構函式將雜湊對映的容量初始化為給定的整數值 capacity。

4

HashMap(int capacity, float fillRatio)

此建構函式使用其引數初始化雜湊對映的容量和填充率。

除了從其父類繼承的方法外,HashMap 還定義了以下方法:

序號 方法及描述
1

void clear()

從此對映中刪除所有對映。

2

Object clone()

返回此 HashMap 例項的淺表副本:鍵和值本身不會被克隆。

3

boolean containsKey(Object key)

如果此對映包含指定鍵的對映,則返回 true。

4

boolean containsValue(Object value)

如果此對映將一個或多個鍵對映到指定值,則返回 true。

5

Set entrySet()

返回此對映中包含的對映的集合檢視。

6

Object get(Object key)

返回此標識雜湊對映中指定鍵所對映到的值,如果對映不包含此鍵的對映,則返回 null。

7

boolean isEmpty()

如果此對映不包含鍵值對映,則返回 true。

8

Set keySet()

返回此對映中包含的鍵的集合檢視。

9

Object put(Object key, Object value)

在此對映中將指定值與指定鍵關聯。

10

putAll(Map m)

將指定對映中的所有映射覆制到此對映。這些對映將替換此對映對指定對映中當前存在的任何鍵所擁有的任何對映。

11

Object remove(Object key)

如果存在,從此對映中刪除此鍵的對映。

12

int size()

返回此對映中鍵值對映的數量。

13

Collection values()

返回此對映中包含的值的集合檢視。

示例

以下程式演示了此集合支援的幾種方法:

import java.util.*;
public class HashMapDemo {

   public static void main(String args[]) {
   
      // Create a hash map
      HashMap hm = new HashMap();
      
      // Put elements to the map
      hm.put("Zara", new Double(3434.34));
      hm.put("Mahnaz", new Double(123.22));
      hm.put("Ayan", new Double(1378.00));
      hm.put("Daisy", new Double(99.22));
      hm.put("Qadir", new Double(-19.08));
      
      // Get a set of the entries
      Set set = hm.entrySet();
      
      // Get an iterator
      Iterator i = set.iterator();
      
      // Display elements
      while(i.hasNext()) {
         Map.Entry me = (Map.Entry)i.next();
         System.out.print(me.getKey() + ": ");
         System.out.println(me.getValue());
      }
      System.out.println();
      
      // Deposit 1000 into Zara's account
      double balance = ((Double)hm.get("Zara")).doubleValue();
      hm.put("Zara", new Double(balance + 1000));
      System.out.println("Zara's new balance: " + hm.get("Zara"));
   }
}

這將產生以下結果:

輸出

Daisy: 99.22
Ayan: 1378.0
Zara: 3434.34
Qadir: -19.08
Mahnaz: 123.22

Zara's new balance: 4434.34
java_collections.htm
廣告