Java 关于散列、键和值迭代器
hashMap中的哈希迭代器、键迭代器和值迭代器是什么?除了普通迭代器之外,它们还有什么功能?假设我有一个哈希映射Java 关于散列、键和值迭代器,java,hashmap,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"
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");
这些新迭代器为我提供了什么样的功能
键集().iterator()迭代键,值().iterator()迭代值,entrySet()迭代项。iterator()迭代键/值项
映射没有任何其他迭代器
这些新迭代器为我提供了什么功能
它们是在Java1.2(1998)中添加的,因此它们并不是那么新 Map.keySet()和Map.values()的结果就是所谓的集合视图(就像您有一个包含两列的SQL表,并为每列创建了一个单独的视图)。使用.keySet()可以获得映射中所有键的iterable集合视图。While.values()使您能够迭代其相应的值
当您操作HashMap以及数组、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);
}
Cookie[]cookies=request.getCookies();
HashMap=newHashMap();
用于(Cookie:cookies)
{
map.put(cookie.getKey(),cookie.getValue());
}
//稍后,如果你只是想检查可用cookies的密钥
Set keys=map.keySet();
Iterator it=keys.Iterator();
while(it.hasNext())
{
字符串currentElement=it.next();
System.out.println(“key=“+currentElement”);
}
无论如何,这只是HashMap和迭代的一个小例子,重要的是可以调整映射,使其能够像其他集合一样循环使用,这意味着将它们带到程序员使用的更常见、更易于操作的状态。什么是“hash迭代器”?“普通迭代器”?Java既没有“普通迭代器”也没有“散列迭代器”。我能想到的只有
Map.entrySet().iterator()
,Map.keySet().iterator()
,和Map.values().iterator()
。您使用的是什么版本的Java?我相信一些旧版本的OpenJDK7确实有一个HashMap.HashIterator添加到Peter所说的内容中,这里的示例显示了它们与泛型(JDK1.5+)的结合使用