Java 地图接口

原创 朱雀 2022-02-19 11:50 16167阅读 0赞

Java 地图接口

在本教程中,我们将了解 Java Map 接口及其方法。

Java 集合框架的Map接口提供了地图数据结构的功能。


地图的工作

在 Java 中, 的元素Map存储在键/值对中。是与单个值关联的唯一

地图不能包含重复的键。而且,每个键都与一个值相关联。

Java中地图接口的工作

我们可以使用与它们关联的键来访问和修改值。

在上图中,我们有值:美国,巴西, 和西班牙. 我们有相应的键:我们,br, 和es.

现在,我们可以使用它们对应的键来访问这些值。

注意:接口Map维护3个不同的集合:

  • 一组键
  • 一组值
  • 一组键/值关联(映射)。

因此,我们可以单独访问键、值和关联。


实现 Map 的类

由于Map是一个接口,我们不能从它创建对象。

为了使用Map接口的功能,我们可以使用这些类:

  • 哈希映射
  • 枚举映射
  • LinkedHashMap
  • 弱哈希映射
  • 树状图

这些类在集合框架中定义并实现Map接口。

HashMap、TreeMap、EnumMap、LinkedHashMap 和 WeakHashMap 类实现了 Java Map 接口。Java 地图子类


扩展 Map 的接口

Map接口也由这些子接口扩展:

  • 排序地图
  • 导航地图
  • 并发地图

SortedMap、NavigableMap 和 ConcurrentMap 扩展了 Java Map 接口Java 映射子接口


如何使用地图?

在 Java 中,我们必须导入java.util.Map包才能使用Map. 导入包后,以下是创建地图的方法。

  1. // Map implementation using HashMap
  2. Map<Key, Value> numbers = new HashMap<>();

在上面的代码中,我们创建了一个Map名为数字. 我们已经使用HashMap类来实现Map接口。

这里,

  • 钥匙- 用于关联地图中每个元素(值)的唯一标识符
  • 价值- 由地图中的键关联的元素

地图方法

Map接口包括接口的所有方法Collection。这是因为Collection是一个超级接口Map

除了接口中可用的方法外CollectionMap接口还包括以下方法:

  • put(K, V) - 插入一个键的关联ķ和一个值五进入地图。如果键已经存在,则新值替换旧值。
  • putAll() - 将指定映射中的所有条目插入此映射。
  • putIfAbsent(K, V) - 如果键插入关联ķ尚未与该值关联五.
  • get(K) - 返回与指定键关联的值ķ. 如果未找到密钥,则返回null
  • getOrDefault(K, defaultValue) - 返回与指定键关联的值ķ. 如果未找到密钥,则返回默认值.
  • containsKey(K) - 检查指定的键是否ķ是否存在于地图中。
  • containsValue(V) - 检查指定值是否五是否存在于地图中。
  • replace(K, V) - 替换键的值ķ具有新的指定值五.
  • replace(K, oldValue, newValue) - 替换键的值ķ具有新值新价值只有当钥匙ķ与值相关联旧值.
  • remove(K) - 从由键表示的映射中删除条目ķ.
  • remove(K, V) - 从具有键的映射中删除条目ķ与价值相关五.
  • keySet() - 返回地图中存在的所有键的集合。
  • values() - 返回地图中存在的所有值的集合。
  • entrySet() - 返回映射中存在的所有键/值映射的集合。

地图接口的实现

1.实现HashMap类

  1. import java.util.Map;
  2. import java.util.HashMap;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Creating a map using the HashMap
  6. Map<String, Integer> numbers = new HashMap<>();
  7. // Insert elements to the map
  8. numbers.put("One", 1);
  9. numbers.put("Two", 2);
  10. System.out.println("Map: " + numbers);
  11. // Access keys of the map
  12. System.out.println("Keys: " + numbers.keySet());
  13. // Access values of the map
  14. System.out.println("Values: " + numbers.values());
  15. // Access entries of the map
  16. System.out.println("Entries: " + numbers.entrySet());
  17. // Remove Elements from the map
  18. int value = numbers.remove("Two");
  19. System.out.println("Removed Value: " + value);
  20. }
  21. }

输出

  1. 地图:{一=1,二=2}
  2. 键:[一,二]
  3. 值:[1, 2]
  4. 条目:[一个=1,两个=2]
  5. 移除值:2

2.实现TreeMap类

  1. import java.util.Map;
  2. import java.util.TreeMap;
  3. class Main {
  4. public static void main(String[] args) {
  5. // Creating Map using TreeMap
  6. Map<String, Integer> values = new TreeMap<>();
  7. // Insert elements to map
  8. values.put("Second", 2);
  9. values.put("First", 1);
  10. System.out.println("Map using TreeMap: " + values);
  11. // Replacing the values
  12. values.replace("First", 11);
  13. values.replace("Second", 22);
  14. System.out.println("New Map: " + values);
  15. // Remove elements from the map
  16. int removedValue = values.remove("First");
  17. System.out.println("Removed Value: " + removedValue);
  18. }
  19. }

输出

  1. 使用 TreeMap 映射:{First=1, Second=2}
  2. 新地图:{First=11, Second=22}
  3. 删除值:11
文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,16167人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java 地图接口

    Java 地图接口 在本教程中,我们将了解 Java Map 接口及其方法。 Java 集合框架的Map接口提供了地图数据结构的功能。地图的工作 在 Java 中, 的...