词典 Dictionary

1. 词典 Dictionary

定义

词典,也称映射(map),表(table)或关联数组(associatearray),词典中每个元素都由两部分组成:一个关键字,通常称为查找键(search key);一个与该键值相关联的值。

词典根据查找键来组织与区分它的元素,因此只要指定元素的查找键,就能从词典中检索或删除一个元素。词典中每个元素都具有一个查找键,虽然也可以将具有查找键的元素放入线性表,但线性表的数据是按位置而不是按查找键来组织的。

Java接口

public interface DictionaryInterface<K, V> {
    /**
     * 将一个新元素插入词典。如果给定的查找键一再词典中,则替换相应的值
     * @param key 新元素的查找键对象
     * @param value 与查找键相关联的对象
     * @return 如果新元素被插入到词典中则返回null,如果与key相关联的值被替换,则返回原来的值 */
    public V add(K key, V value);
    /**
     * 从词典中删除一个指定的元素
     * @param key 欲删除的元素的查找键对象
     * @return 与查找键相关联的值,如果不存在这样的对象则返回null */
    public V remove(K key);
    /**
     * 检索与给定的查找键相关联的对值
     * @param key 欲检索的元素的查找键对象
     * @return 与查找键相关联的值,如果不存在这样的对象则返回null */
    public V getValue(K key);
    /**
     * 确定一个指定的元素在不在词典中
     * @param key 欲检索的元素的查找键对象
     * @return 如果key与词典中的一个元素相关联则返回true */
    public boolean contains(K key);
    /**
     * 创建一个迭代器遍历词典中所有的查找键
     * @return 返回一个迭代器,提供对词典中查找键的顺序访问 */
    public Iterator<K> getKeyIterator();
    /**
     * 创建一个迭代器遍历词典中所有的值
     * @return 返回一个迭代器,提供对词典中的值顺序访问 */
    public Iterator<V> getValueIterator();
    /**
     * 确定词典是否为空
     * @return 如果词典为空则返回true */
    public boolean isEmpty();
    /**
     * 确定词典是否为满
     * @return 如果词典为满则返回true */
    public boolean isFull();
    /**
     * 缺德词典的大小
     * @return 返回词典中当前的元素(键-值二元组)数目 */
    public int getSize();
    /**
     * 删除词典中所有元素 */
    public void clear();
}

Java类库:Map接口

public interface Map<K, V> {
    public V put(K key, V value);
    public V remove(Object key);
    public V get(Object key);
    public boolean containsKey(Object key);
    public boolean containsValue(Object value);
    public Set keySet();
    public Collection<V> values();
    public boolean isEmpty();
    public int size();
    public void clear();                               
}

2. 迭代器 Iterator

This chapter requires login to view full content. You are viewing a preview.

Login to View Full Content

Course Curriculum

3

框架与 I/O:Spring、Netty 与 Web 容器

理解 Spring Boot 自动装配、AOP 与事务原理,掌握 Netty Reactor 模型及 Tomcat 连接处理机制,构建高内聚、易扩展的应用服务层。
4

高性能中间件:消息、缓存与存储

熟练运用 MySQL 索引/事务、Redis 缓存策略、Kafka/RocketMQ 消息可靠性,以及 ZooKeeper 分布式协调,搭建稳定、解耦的分布式数据底座。
6

云原生:容器化、可观测性与工程效能

通过 Docker/K8s 实现弹性部署,集成 Metrics/Logs/Traces 构建可观测体系,推动 DevOps 与自动化,让架构在云上持续交付与进化。