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");
这些新迭代器为我提供了什么功能..!
答案 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和迭代实例的一个小例子,重要的是调整地图的可能性,并且可以像其他集合一样循环遍历它们,意味着将它们带到更常见且易于操作的状态程序员使用