當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Java.util.Dictionary用法及代碼示例


Java中的java.util.Dictionary類是一個抽象類,它表示鍵值對的集合,其中鍵是唯一的,用於訪問值。它是 Java 1.2 中引入的 Java 集合框架的一部分,但自 Java 1.2 以來已被 java.util.Map 接口所取代。

Dictionary 類是一個抽象類,不能直接實例化。相反,它提供了訪問存儲在集合中的鍵值對的基本操作,這些操作由其具體子類 java.util.Hashtable 實現。

Dictionary 類定義了以下方法:

  1. get(Object key):返回與字典中指定鍵關聯的值,如果未找到該鍵則返回 null。
  2. put(Object key, Object value):將鍵值對插入字典中。如果key已經存在,則對應的值為
  3. 替換為新值,並返回舊值。如果 key 是新的,則返回 null。
  4. remove(Object key):從字典中刪除與指定鍵關聯的鍵值對,並返回其值。如果未找到該鍵,則返回 null。
  5. size():返回字典中存儲的鍵值對的數量。
  6. isEmpty():如果字典為空,則返回 true,否則返回 false。
    elements():返回存儲在字典中的值的枚舉。
  7. keys():返回存儲在字典中的鍵的枚舉。

這是使用 Dictionary 類的示例:

Java


import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;
public class DictionaryExample {
    public static void main(String[] args)
    {
        Dictionary<String, Integer> dict= new Hashtable<>();
        dict.put("Alice", 25);
        dict.put("Bob", 30);
        dict.put("Charlie", 35);
        System.out.println(dict.get("Bob")); // 30
        int oldValue = dict.put("Charlie", 40);
        System.out.println(oldValue); // 35
        dict.remove("Alice");
        System.out.println(dict.size()); // 2
        Enumeration<String> k = dict.keys();
        while (k.hasMoreElements()) {
            String key = k.nextElement();
            System.out.println("Key: " + key + ", Value: "
                               + dict.get(key));
        }
    }
}
輸出
30
35
2
Key: Bob, Value: 30
Key: Charlie, Value: 40

util.Dictionary 是一個抽象類,表示鍵值關係,其工作方式類似於映射。給定一個鍵,您可以存儲值,並在需要時可以使用其鍵檢索值。因此,它是一個鍵值對的列表。

聲明

public abstract class Dictionary extends Object

構造函數:
Dictionary()唯一的構造函數。

java.util.Dictionary類是Java中提供鍵值數據結構的類,類似於Map接口。它是原始 Java Collections 框架的一部分,在 Java 1.0 中引入。

然而,Dictionary 類已被認為已過時,並且通常不鼓勵使用它。這是因為它是在Collections框架引入之前設計的,沒有實現Map接口,這使得它很難與框架的其他部分結合使用。

一般來說,建議使用 Map 接口或其實現之一(例如HashMap 或 ConcurrentHashMap)而不是 Dictionary 類。

以下是如何使用 Dictionary 類的示例:

Java


import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;
public class Main {
    public static void main(String[] args) {
        Dictionary<String, Integer> dictionary = new Hashtable<>();
        // Adding elements to the dictionary
        dictionary.put("A", 1);
        dictionary.put("B", 2);
        dictionary.put("C", 3);
        // Getting values from the dictionary
        int valueA = dictionary.get("A");
        System.out.println("Value of A: " + valueA);
        // Removing elements from the dictionary
        dictionary.remove("B");
        // Enumerating the elements of the dictionary
        Enumeration<String> keys = dictionary.keys();
        while (keys.hasMoreElements()) {
            String key = keys.nextElement();
            System.out.println("Key: " + key + ", Value: " + dictionary.get(key));
        }
    }
}
輸出
Value of A: 1
Key: A, Value: 1
Key: C, Value: 3

util.Dictionary 類的方法:

1. put(K鍵,V值): java.util.Dictionary.put(K鍵,V值)將鍵值對添加到字典中。

用法:

public abstract V put(K key, V value)
Parameters : 
-> key
-> value
Return : 
key-value pair mapped in the dictionary

2.elements(): java.util.Dictionary.elements()返回字典中的值表示。

用法:

public abstract Enumeration elements()
Parameters : 
--------
Return : 
value enumeration in dictionary

3. get(Object key):java.util.Dictionary.get(Object key) 返回與字典中的參數鍵映射的值。

用法:

public abstract V get(Object key)
Parameters : 
key - key whose mapped value we want
Return : 
value mapped with the argumented key

4.isEmpty():java.util.Dictionary.isEmpty()檢查字典是否為空。

用法:

public abstract boolean isEmpty()
Parameters : 
------
Return : 
true, if there is no key-value relation in the dictionary; else false

5. keys():java.util.Dictionary.keys()返回字典中的鍵表示。

用法:

public abstract Enumeration keys()
Parameters : 
--------
Return : 
key enumeration in dictionary

6. 刪除(對象鍵): java.util.Dictionary.remove(對象鍵)刪除與參數鍵映射的鍵值對。

用法:

public abstract V remove(Object key)
Parameters : 
key : key to be removed
Return : 
value mapped with the key

7. size(): java.util.Dictionary.size() 返回編號。字典中的鍵值對。

用法:

public abstract int size()
Parameters : 
-------
Return : 
returns the no. of key-value pairs in the Dictionary

Java


// Java Program explaining util.Dictionary class Methods
// put(), elements(), get(), isEmpty(), keys()
// remove(), size()
import java.util.*;
public class New_Class
{
    public static void main(String[] args)
    {
        // Initializing a Dictionary
        Dictionary geek = new Hashtable();
        // put() method
        geek.put("123", "Code");
        geek.put("456", "Program");
        // elements() method :
        for (Enumeration i = geek.elements(); i.hasMoreElements();)
        {
            System.out.println("Value in Dictionary : " + i.nextElement());
        }
        // get() method :
        System.out.println("\nValue at key = 6 : " + geek.get("6"));
        System.out.println("Value at key = 456 : " + geek.get("123"));
        // isEmpty() method :
        System.out.println("\nThere is no key-value pair : " + geek.isEmpty() + "\n");
        // keys() method :
        for (Enumeration k = geek.keys(); k.hasMoreElements();)
        {
            System.out.println("Keys in Dictionary : " + k.nextElement());
        }
        // remove() method :
        System.out.println("\nRemove : " + geek.remove("123"));
        System.out.println("Check the value of removed key : " + geek.get("123"));
        System.out.println("\nSize of Dictionary : " + geek.size());
    }
}

輸出:

Value in Dictionary : Code
Value in Dictionary : Program

Value at key = 6 : null
Value at key = 456 : Code

There is no key-value pair : false

Keys in Dictionary : 123
Keys in Dictionary : 456

Remove : Code
Check the value of removed key : null

Size of Dictionary : 1

Dictionary類的優點:

  1. 遺留支持:Dictionary 類是原始 Java Collections 框架的一部分,並且從一開始就是 Java 的一部分。這意味著,如果您有使用 Dictionary 的舊代碼,您仍然可以在新代碼中使用它。
  2. 使用簡單:Dictionary 類使用簡單,並提供基本的鍵值數據結構函數,這對於簡單的情況很有用。

Dictionary類的缺點:

  1. 已過時:Dictionary 類被認為已過時,並且通常不鼓勵使用它。這是因為它是在Collections框架引入之前設計的,沒有實現Map接口,這使得它很難與框架的其他部分結合使用。
  2. 函數有限:Dictionary 類提供基本的鍵值數據結構函數,但不提供 Map 接口及其實現中可用的全部函數。
  3. 不類型安全:Dictionary 類使用 Object 類來表示鍵和值,這可能會導致類型不匹配和運行時錯誤。

相關書籍:

  1. “Java Collections” 作者:莫裏斯·納夫塔林和菲利普·瓦德勒。本書全麵概述了 Java Collections 框架,包括 Dictionary 類。
  2. David Flanagan 的《Java 簡介》。本書提供了 Java 核心函數(包括 Dictionary 類)的快速參考。
  3. Maurice Naftalin 和 Philip Wadler 的“Java 泛型和集合”。本書提供了 Java 中泛型和集合的全麵指南,包括 Dictionary 類。


相關用法


注:本文由純淨天空篩選整理自佚名大神的英文原創作品 Java.util.Dictionary Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。