在 Java 集合框架中,Map 接口是一个非常重要的接口,用于存储键值对 (key-value pairs)。本文将详细探讨 Map 接口及其两个主要实现类:HashMap 和 TreeMap。
Map 接口概述
Map 接口与 Collection 接口不同,Map 用于存储键值对,并且每个键只能映射到一个值。Map 接口的方法包括:
V put(K key, V value): 将指定的值与该键关联(如果该键之前有值,则会覆盖原值)。V get(Object key): 返回指定键所映射的值,如果没有映射关系则返回null。V remove(Object key): 移除键及其对应的值。boolean containsKey(Object key): 如果该映射包含指定键的映射关系,则返回true。boolean containsValue(Object value): 如果该映射将一个或多个键映射到指定值,则返回true。Set<K> keySet(): 返回所有键的集合。Collection<V> values(): 返回所有值的集合。Set<Map.Entry<K, V>> entrySet(): 返回所有键值对的集合。
HashMap
HashMap 是 Map 接口的一个常见实现类,基于哈希表实现。它具有以下特点:
- 无序性:
HashMap不保证键值对的顺序,这意味着键值对的迭代顺序可能与插入顺序不同。 - 哈希表:
HashMap使用哈希表来存储键值对,因此插入、删除和查找操作的时间复杂度为 O(1)。 - 键的唯一性:
HashMap使用键的hashCode()和equals()方法来确保键的唯一性。
使用示例
import java.util.HashMap;
import java.util.Map;
public class HashMapExample {
public static void main(String[] args) {
Map<String, Integer> hashMap = new HashMap<>();
// 添加键值对
hashMap.put<

最低0.47元/天 解锁文章
437

被折叠的 条评论
为什么被折叠?



