📅  最后修改于: 2023-12-03 15:31:49.644000             🧑  作者: Mango
在 Java 中,AbstractMap
是一个抽象类,实现了 Map
接口中大部分的方法,可以作为其他 Map
实现的基础。
AbstractMap
中的 values()
方法返回一个包含当前映射中所有值的(无序)集合。该方法返回的集合是AbstractCollection
的子类,可以使用 Collection
接口中定义的方法来操作集合。
下面是 values()
方法的语法:
public Collection<V> values()
其中,V
是键值对中值的类型,Collection<V>
表示当前映射中所有值的集合。
接下来,让我们通过一个示例来展示 values()
的使用方法。
import java.util.*;
public class Main {
public static void main(String[] args) {
// 创建一个映射
Map<String, String> map = new HashMap<>();
map.put("name", "Jack");
map.put("age", "22");
map.put("gender", "male");
// 获取映射中所有值的集合
Collection<String> values = map.values();
// 输出集合中的所有元素
System.out.println("Values in the map:");
for (String value : values) {
System.out.println(value);
}
}
}
输出结果为:
Values in the map:
Jack
22
male
以上示例中,我们创建了一个映射,并向其中添加了3个键值对。然后,我们使用 values()
方法获取映射中所有值的集合,并遍历该集合输出所有元素。
需要注意的是,values()
方法返回的集合只是当前映射中所有值的“视图”,也就是说,如果对该集合进行操作(添加、删除等),那么映射中对应的键值对也会发生相应的变化。
另外,由于 AbstractMap
是一个抽象类,所以我们在代码中创建的映射实际上是 HashMap
、TreeMap
等具体的 Map
实现类的实例。对于这些具体实现,values()
方法的行为可能会有所不同。例如,对于 TreeMap
,该方法返回的集合是按键的自然顺序排列的。因此,在实际使用中,需要根据具体情况选择合适的 Map
实现类,以确保程序正确地运行。