Map接口和Dictionary抽象类的区别

本文探讨了Dictionary作为Hashtable的抽象父类及其主要功能,指出其已过时并建议使用Map接口替代。Map是一个接口,每个key最多对应一个value,提供查看keys、values和键值对的方法。Map接口旨在取代Dictionary,为键值对存储提供更现代的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dictionary

Dictionary是一个抽象类。先上一个图看看它的方法:
abstract Dictionary class

Dictionary 简介

Dictionary 是 Hashtable 的抽象父类,在 java.util包下,他的子类有 Hashtable, Properties. 它的主要作用是用于记录 键到值的一一对应关系。没错,从数学的概念上讲,这种映射关系就是一对一的。也就是说,一个key最多只能找到一个value. 如果给出一个 Dictionary 的子类对象和一个 key, 就可以查找有没有包含相关的元素。需要注意的是:任何非空(non-null)的对象才能用作 key 和 value.

通常,类的实现应使用 equals 方法来确定两个键是否相同。

注意:此类已过时。 新的实现应实现 Map 接口,而不是扩展此类。

Map 接口

Map 是一个接口,还是看图:

Map 是一个将 keys 映射到 values 的对象。一个 map 对象不能包含重复的 keys. 每一个 key 最多只能映射到一个对象。
Map 这个接口是为了取代 Dictionary 这个抽象类的,更直白的说,就是拿一个接口去取代之前抽象类。

three collection views

Map 接口提供了三套查看方法来查看map所包含的内容。

查看它所包含的所有 keys (view as a set of keys)
查看它所包含的所有 values(view as collection of values)
查看它所包含的键-值映射。(view as a set of key-value mappings)

Dictionary 和 Map 的框架

Map and Dictionary framework

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值