map.values
时间: 2024-09-12 22:04:47 浏览: 40
在Java中,`Map.values()` 方法是Map接口的一个成员方法,用于返回该Map集合中所有值的视图(一个集合)。返回的集合不是普通的List,而是一个视图,意味着该集合是对原Map中值的直接反映,对Map的任何修改都会反映在这个集合上,反之亦然。这个返回的集合支持迭代器(Iterator)遍历,但不支持通过集合的add或remove方法来添加或删除元素,因为这会破坏Map与其值集合之间的关系。
需要注意的是,如果对返回的值集合进行结构性修改(即添加或删除元素,不包括通过迭代器自身的remove方法或修改原Map来改变集合的操作),迭代器将会抛出`ConcurrentModificationException`异常。由于返回的集合是动态的,所以每次调用`values()`方法都可能返回不同的对象。
使用示例:
```java
import java.util.HashMap;
import java.util.Map;
public class TestMapValues {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("Apple", 5);
map.put("Banana", 3);
map.put("Orange", 2);
// 获取Map中所有的值,并遍历它们
for(Integer value : map.values()) {
System.out.println(value);
}
}
}
```
在上述代码中,`map.values()` 返回了一个包含所有值的集合视图,然后使用for-each循环来遍历这些值。
阅读全文