前言
本文章帮助大家对Dictionary
类的理解。
一、概述
Dictionary
意为字典。顾名思义,此类类似Map
接口,提供方便的键值对访问。但不推荐使用,它对比Map
接口,是抽象类,子类只能继承它一个类,比较局限,而且它使用了过时的Enumeration
接口对元素进行枚举遍历,所以要使用键值对功能的话,推荐使用Map
接口。参考Map
接口、Enumeration
接口。
二、源码理解
包
package java.util;
import java.util.Dictionary;
使用Dictionary
类时,需引入此包。
Dictionary类
public abstract class Dictionary<K,V> { /*...*/ }
抽象类,无法实例化。使用类时传入泛型K
、V
,分别为键值对元素的键和值的类型。
Dictionary方法
Dictionary
public Dictionary() {}
构造函数,不做处理。
size
public abstract int size();
抽象方法。返回键值对数量。
isEmpty
public abstract boolean isEmpty();
抽象方法。判断此字典是否为空。
keys
public abstract Enumeration<K> keys();
抽象方法。返回覆盖所有键的枚举器。
elements
public abstract Enumeration<V> elements();
抽象方法。返回覆盖所有值的枚举器。
get
public abstract V get(Object key);
抽象方法。返回键key
对应的值。若无对应值,返回空。若key
为空,则抛出NullPointerException
异常。
put
public abstract V put(K key, V value);
抽象方法。设置键key
对应的值为value
,返回原对应值。若无原对应值,返回空。若key
或value
为空,则抛出NullPointerException
异常。
remove
public abstract V remove(Object key);
抽象方法。移除键为key
的键值对,返回原。若key
为空,则抛出NullPointerException
异常。
总结
新人源码理解,望大家多多指点。