-2

什么是 hashMap 中的哈希迭代器、键迭代器和值迭代器,除了普通迭代器之外它们的功能是什么,假设我有一个哈希映射..

Map map=new HashMap();//HashMap key random order.
      //   System.out.println("Amit".hashCode());
         map.put("Amit","Java");
         map.put("Amit","Javas");
        // map.put("mAit","J2EE");

这些新的迭代器为我提供了什么功能..!

请看

4

2 回答 2

1

keySet().iterator() 遍历键,values().iterator() 遍历值,entrySet().iterator() 遍历键/值条目。

地图没有任何其他迭代器。

这些新的迭代器为我提供了什么功能

它们是在 Java 1.2 (1998) 中添加的,所以它们并不是那么新。;)

于 2012-08-08T17:28:53.617 回答
0

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 和迭代的一个小例子,重要的是调整映射的可能性,并使其可以像其他集合一样循环遍历它们,这意味着将它们带到程序员使用的更常见和更易于操作的状态。

于 2012-08-08T17:45:32.337 回答