关于hash,key和value迭代器

时间:2012-08-08 17:24:00

标签: java hashmap

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");

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

Please see it

2 个答案:

答案 0 :(得分:1)

keySet()。iterator()遍历键,values()。iterator()遍历值和entrySet()。iterator()对键/值条目进行迭代。

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

  

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

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

答案 1 :(得分:0)

Map.keySet()和Map.values()的结果就是所谓的集合视图(就好像你有一个带有两列的SQL表,并为每一列创建了一个单独的视图)。使用.keySet()可以获得Map中所有键的可迭代Collection视图。而.values()使您能够迭代其相应的值。

当您操作HashMap以及Array或ArrayList或类似集合时,它们非常方便。在这里,我列出了一个简单的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和迭代实例的一个小例子,重要的是调整地图的可能性,并且可以像其他集合一样循环遍历它们,意味着将它们带到更常见且易于操作的状态程序员使用