Java 地图接口
Java 地图接口
在本教程中,我们将学习 Java Map 接口及其方法。
Map
Java集合框架的接口提供了地图数据结构的功能。
地图工作
在 Java 中,Map
的元素 存储在键/值中 对。 键 是与单个 Values 关联的唯一值 .
地图不能包含重复的键。而且,每个键都与一个值相关联。
我们可以使用与它们关联的键来访问和修改值。
在上图中,我们有值:United States , 巴西 , 和 西班牙 .我们有相应的键:us , br , 和 es .
现在,我们可以使用它们对应的键来访问这些值。
注意: Map
接口维护3个不同的集合:
- 一组键
- 值集
- 一组键/值关联(映射)。
因此我们可以单独访问键、值和关联。
实现 Map 的类
从 Map
是一个接口,我们不能从它创建对象。
为了使用 Map
的功能 接口,我们可以使用这些类:
- 哈希映射
- 枚举映射
- LinkedHashMap
- WeakHashMap
- 树图
这些类在集合框架中定义并实现 Map
界面。
扩展地图的接口
Map
接口也被这些子接口扩展:
- 排序地图
- 可导航地图
- 并发映射
如何使用地图?
在 Java 中,我们必须导入 java.util.Map
包以便使用 Map
.导入包后,我们可以通过以下方式创建地图。
// Map implementation using HashMap
Map<Key, Value> numbers = new HashMap<>();
在上面的代码中,我们创建了一个Map
命名为 数字 .我们使用了 HashMap
类来实现 Map
界面。
在这里,
- 键 - 用于关联地图中每个元素(值)的唯一标识符
- 值 - 由地图中的键关联的元素
地图方法
Map
接口包含Collection
的所有方法 界面。这是因为 Collection
是Map
的超接口 .
除了 Collection
中可用的方法 接口,Map
接口还包括以下方法:
- put(K, V) - 插入键 K 的关联 和一个值 V 进入地图。如果键已经存在,则新值替换旧值。
- putAll() - 将指定地图中的所有条目插入到此地图中。
- putIfAbsent(K, V) - 如果键 K 则插入关联 尚未与值 V 关联 .
- 获取(K) - 返回与指定键 K 关联的值 .如果未找到密钥,则返回
null
. - getOrDefault(K, defaultValue) - 返回与指定键 K 关联的值 .如果未找到密钥,则返回 defaultValue .
- 包含密钥(K) - 检查指定键是否K 是否存在于地图中。
- 包含值(V) - 检查指定值是否 V 是否存在于地图中。
- 替换(K, V) - 替换键K的值 使用新的指定值 V .
- 替换(K, oldValue, newValue) - 替换键 K 的值 使用新值 newValue 仅当键 K 与值 oldValue 相关联 .
- 移除(K) - 从由键 K 表示的映射中删除条目 .
- 移除(K, V) - 从地图中删除具有键 K 的条目 与值 V 关联 .
- keySet() - 返回地图中存在的所有键的集合。
- 值() - 返回地图中存在的所有值的集合。
- entrySet() - 返回映射中存在的所有键/值映射的集合。
地图接口的实现
1。实现HashMap类
import java.util.Map;
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// Creating a map using the HashMap
Map<String, Integer> numbers = new HashMap<>();
// Insert elements to the map
numbers.put("One", 1);
numbers.put("Two", 2);
System.out.println("Map: " + numbers);
// Access keys of the map
System.out.println("Keys: " + numbers.keySet());
// Access values of the map
System.out.println("Values: " + numbers.values());
// Access entries of the map
System.out.println("Entries: " + numbers.entrySet());
// Remove Elements from the map
int value = numbers.remove("Two");
System.out.println("Removed Value: " + value);
}
}
输出
Map: {One=1, Two=2} Keys: [One, Two] Values: [1, 2] Entries: [One=1, Two=2] Removed Value: 2
了解更多关于 HashMap
,访问Java HashMap。
2。实现 TreeMap 类
import java.util.Map;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// Creating Map using TreeMap
Map<String, Integer> values = new TreeMap<>();
// Insert elements to map
values.put("Second", 2);
values.put("First", 1);
System.out.println("Map using TreeMap: " + values);
// Replacing the values
values.replace("First", 11);
values.replace("Second", 22);
System.out.println("New Map: " + values);
// Remove elements from the map
int removedValue = values.remove("First");
System.out.println("Removed Value: " + removedValue);
}
}
输出
Map using TreeMap: {First=1, Second=2} New Map: {First=11, Second=22} Removed Value: 11
了解更多关于 TreeMap
,访问Java TreeMap。
java