Java 中的字典类

2025年9月2日 | 阅读 5 分钟

在Java中,Dictionary 是一个键值对的列表。我们可以使用Java Dictionary类来存储、检索、移除、获取和放入值。在本节中,我们将讨论Java Dictionary类,它像Map接口一样以键值对的形式存储数据。

Java Dictionary类

Java Dictionary类是一个抽象类,是任何类的父类。它属于java.util包。它的直接已知子类是Hashtable类。与Hashtable类一样,它也映射键到值。请注意,每个键和值都是一个对象,任何非空对象都可以用作键和值。Dictionary类的继承层次结构如下:

Dictionary Class in Java

每个键最多与一个值相关联,如下图所示。一旦值存储在字典对象中,我们就可以通过键来检索它。

Dictionary Class in Java

语法

注意:该类已被弃用。因此,请实现map接口而不是继承该类。

Dictionary 类构造函数

该类只有一个构造函数,称为唯一构造函数。

语法

Dictionary 类方法

Dictionary 类中的所有方法都是抽象的。下表描述了这些方法。

方法描述
public abstract Enumerationelements()它返回此字典中值的枚举。返回的enum对象生成此字典中条目包含的所有元素。
public abstract V get(Object key)它返回此字典中键映射到的值。它解析此字典中的一个对象(键)。请注意,如果此字典包含指定键的条目,则返回关联的值;否则,返回null。如果键为null,则抛出NullPointerException。
public abstract boolean isEmpty()该方法检查此字典是否不映射任何键到值。当且仅当此字典不包含任何条目时,它返回true,否则返回false。
public abstract Enumerationkeys()它返回此字典中键的枚举。返回的enum对象生成此字典包含条目的所有键。
public abstract V put(K key, V value)该方法用于将键值对插入字典。它将指定的键映射到此字典中的指定值。请注意,键和值都不能为null。
如果字典已经包含指定键的条目,则在修改条目以包含新元素后,返回该键在字典中已有的值。
如果字典尚未包含指定键的条目,则为指定键和值创建一个条目,并返回null。
它将键和值作为参数。如果键或值为null,则抛出NullPointerException。
public abstract V remove(Object key)该方法解析我们想要移除的键。它移除键和关联的值。请注意,如果键不在字典中,则该方法不执行任何操作。如果键为null,则抛出NullPointerException。
public abstract int size()它返回此字典中的条目数(不重复键数)。

Java Dictionary程序

Dictionary.put() 方法的使用

put() 方法插入字典中的元素。以下程序演示了这一点。

InsertElementExample.java

输出

{108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney}

Dictionary.size() 方法的使用

字典的大小是字典包含的元素数量。在以下程序中,字典的大小为6。

DictionarySizeExample.java

输出

The size of the dictionary is: 6

Dictionary.get() 方法的使用

通过get()方法,我们可以检索指定键的值。

DictionaryGetElement.java

输出

The value of the specified key is: Melbourne

Dictionary.isEmpty() 方法的使用

如果字典为空,则返回true,否则返回false。

EmptyCheckExample.java

输出

Is the dictionary empty? 
false

Dictionary.remove() 方法的使用

该方法移除我们在方法中解析的键和对应的键值。被移除的值由方法返回。

RemoveElementExample.java

输出

The removed value is: Mount Gambier

elements() 和 key() 方法的使用

RemoveElementExample.java

输出

Dictionary values are: 

Canberra
Nelson Bay
Mount Gambier
Lismore
Perth
Melbourne
Brisbane
Sydney

Dictionary keys are: 

108
107
106
105
104
103
102
101

HashMap 和 Dictionary 类之间的区别

Java的HashMap类和Dictionary类执行类似的功能。唯一的区别是HashMap实现了Map接口,而Dictionary类没有。根据Java文档,Dictionary类不再使用,因为它已过时。取而代之的是HashMap类。因此,我们可以说HashMap是字典的一种。


下一个主题Sort-a-set-in-java