您的位置:

Java Map 方法

Map 是 Java 集合框架中常用的一种数据结构,它提供了键值对的存储方式,可以通过键快速查找对应的值。Java 中提供了多种不同的 Map 实现,包括 HashMap、TreeMap、LinkedHashMap 等。

一、HashMap

HashMap 是 Java 集合框架中最常用的 Map 实现之一。它基于哈希表实现,允许 null 键和 null 值,不保证键值对的顺序。

HashMap 的基本操作包括 put、get、remove,示例如下:

// 创建一个空的 HashMap
Map map = new HashMap<>();

// 向 HashMap 中添加键值对
map.put("key1", "value1");
map.put("key2", "value2");

// 从 HashMap 中获取值
String value1 = map.get("key1");

// 从 HashMap 中删除键值对
map.remove("key2");

  

除了基本操作外,HashMap 还提供了一些常用的方法,如 keySet、values、entrySet,可以分别获取键的集合、值的集合、键值对的集合。

// 遍历 HashMap 的方式之一:使用 keySet 方法获取键的集合,并依次获取值
for (String key : map.keySet()) {
    String value = map.get(key);
    System.out.println(key + ": " + value);
}

// 遍历 HashMap 的方式之二:使用 values 方法获取值的集合
for (String value : map.values()) {
    System.out.println(value);
}

// 遍历 HashMap 的方式之三:使用 entrySet 方法获取键值对的集合
for (Map.Entry entry : map.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + ": " + value);
}

  

二、TreeMap

TreeMap 是基于红黑树实现的 Map,它保证键值对按照键的自然顺序排序,或者按照指定的 Comparator 排序。TreeMap 不允许 null 键,但允许 null 值。

TreeMap 的使用方法和 HashMap 类似,示例如下:

// 创建一个空的 TreeMap
Map map = new TreeMap<>();

// 向 TreeMap 中添加键值对
map.put("key1", "value1");
map.put("key3", "value3");
map.put("key2", "value2");

// 遍历 TreeMap 的方式和遍历 HashMap 相同
for (String key : map.keySet()) {
    String value = map.get(key);
    System.out.println(key + ": " + value);
}

  

三、LinkedHashMap

LinkedHashMap 是基于哈希表和链表实现的 Map,它保留插入顺序,可以按照插入顺序遍历键值对,或者按照访问顺序(LRU)遍历键值对。LinkedHashMap 允许 null 键和 null 值。

LinkedHashMap 的基本操作和 HashMap 类似,只不过它保留插入顺序。示例如下:

// 创建一个空的 LinkedHashMap,指定迭代顺序为插入顺序
Map map = new LinkedHashMap<>(16, 0.75f, true);

// 向 LinkedHashMap 中添加键值对
map.put("key1", "value1");
map.put("key3", "value3");
map.put("key2", "value2");

// 通过访问顺序遍历 LinkedHashMap
map.get("key1");
map.get("key2");
for (Map.Entry
    entry : map.entrySet()) {
    String key = entry.getKey();
    String value = entry.getValue();
    System.out.println(key + ": " + value);
}

   
  

四、总结

通过本文的介绍,我们了解了 Java 集合框架中 Map 的常用实现及其基本操作。在实际开发中,我们需要根据实际需求选择合适的 Map 实现。