Map.keySet() 和 Map.values() 的结果就是所谓的集合视图(例如,如果您有一个包含两列的 SQL 表并为每列创建一个单独的视图)。使用 .keySet() 您可以获得 Map 中所有键的可迭代 Collection 视图。而 .values() 使您能够迭代它们的相应值。
当您与 Array 或 ArrayList 或类似集合一起操作 HashMap 时,它们非常方便。这里我列出了一个简单的 Java EE 示例,它从请求中检索 Cookie[] 数组,然后将 cookie 映射到 HashMap :
Cookie[] cookies = request.getCookies();
HashMap<String,String> map = new HashMap<String,String>();
for(Cookie cookie : cookies)
{
map.put(cookie.getKey(), cookie.getValue());
}
//Later if you just wanna check the keys of cookies that are available
Set<String> keys = map.keySet();
Iterator<String> it = keys.iterator();
while(it.hasNext())
{
String currentElement = it.next();
System.out.println("key = " + currentElement);
}
无论如何,这只是 HashMap 和迭代的一个小例子,重要的是调整映射的可能性,并使其可以像其他集合一样循环遍历它们,这意味着将它们带到程序员使用的更常见和更易于操作的状态。