Java 地图接口
Java 地图接口
在本教程中,我们将了解 Java Map 接口及其方法。
Java 集合框架的Map
接口提供了地图数据结构的功能。
地图的工作
在 Java 中, 的元素Map
存储在键/值对中。键是与单个值关联的唯一值。
地图不能包含重复的键。而且,每个键都与一个值相关联。
我们可以使用与它们关联的键来访问和修改值。
在上图中,我们有值:美国,巴西, 和西班牙. 我们有相应的键:我们,br, 和es.
现在,我们可以使用它们对应的键来访问这些值。
注意:接口Map
维护3个不同的集合:
- 一组键
- 一组值
- 一组键/值关联(映射)。
因此,我们可以单独访问键、值和关联。
实现 Map 的类
由于Map
是一个接口,我们不能从它创建对象。
为了使用Map
接口的功能,我们可以使用这些类:
- 哈希映射
- 枚举映射
- LinkedHashMap
- 弱哈希映射
- 树状图
这些类在集合框架中定义并实现Map
接口。
Java 地图子类
扩展 Map 的接口
该Map
接口也由这些子接口扩展:
- 排序地图
- 导航地图
- 并发地图
Java 映射子接口
如何使用地图?
在 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) - 插入一个键的关联ķ和一个值五进入地图。如果键已经存在,则新值替换旧值。
- 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类
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);
}
}
输出
地图:{一=1,二=2}
键:[一,二]
值:[1, 2]
条目:[一个=1,两个=2]
移除值:2
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);
}
}
输出
使用 TreeMap 映射:{First=1, Second=2}
新地图:{First=11, Second=22}
删除值:11
还没有评论,来说两句吧...