//如何在//java HashMap循环中遍历map
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
//如何循环遍历map
公共类周期图{
publicstaticvoidmain (字符串[ ] args ) {
Map tempMap=new HashMap (;
tempmap.put('a ',1 );
tempmap.put('b ',2 );
tempmap.put('c ',3 );
//JDK1.4中
//遍历方法一hashmap entrySet ()遍历
System.out.println (方法1 );
Iterator it=tempMap.entrySet ().iterator );
while(it.Hasnext ) ) ) )。
映射. entry entry=(映射. entry ) it.next );
Object key=entry.getKey (;
Object value=entry.getValue (;
system.out.println (key=' key ' value=' value );
}
System.out.println (' ';
//JDK1.5应用新特性For-Each循环
//遍历方法2
System.out.println (方法2 );
for (map.entry entry : temp map.entryset ) )
String key=entry.getKey ().toString );
String value=entry.getValue ().toString );
system.out.println (key=' key ' value=' value );
}
System.out.println (' ';
//遍历方法hashmap keySet ()遍历
System.out.println (方法3 );
for(iteratorI=tempmap.keyset ().iterator ); i.hasNext (; () )。
Object obj=i.next (;
system.out.println(obj; //循环输出key
system.out.println (key=' obj ' value=' temp map.get ) obj );
}
for(iteratorI=tempmap.values ).iterator ); i.hasNext (; () )。
Object obj=i.next (;
system.out.println(obj; //环路输出value
}
System.out.println (' );
//遍历方法treemap keySet ()遍历
System.out.println (方法4 );
for(objecto:tempmap.keyset () ) ) )。
system.out.println (' key=' o ' value=' temp map.get (o ) );
}
system.out.println('11111 );
//java为Map map=new HashMap ();
system.out.println(Java遍历映射=new hashmap () )。 );
Map map=new HashMap (;
Set keys=map.keySet (;
Iterator iterator=keys.iterator (;
while(iterator.Hasnext () ) )。
String key=iterator.next (;
ArraylistArraylist=map.get(key );
for (objecto :阵列列表) {
system.out.println(o '遍历过程);
}
}
system.out.println('2222 );
Map mapList=new HashMap (;
for (map.entry entry : maplist.entryset () ) )。
String key=entry.getKey ().toString );
listvalues=(list ) entry.getValue );
for (string value :值) {
system.out.println (key '-- ' value;
}
} }
遍历混洗贴图
混叠att map;
Iterator i=attMap.entrySet ().iterator );
wile(I.Hasnext ) ) ) ) )。
Object o=i.next (;
String key=o.toString (;
//这样就可以遍历此HashMap的密钥值。
}
当然,也可以遍历Map.Entry项,值。 方法相似。
没关系
Object [] obja=attmap.keySet ().toArray );
根据我们的支持,要遍历hashmap,最好使用entryset。 因为大部分都是使用keyset进行遍历,所以没那么想。 今天研究了一下,果然还是很不一样。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Calendar;
公共类散列映射测试{
publicstaticvoidmain (字符串[ ] args ) {
HashMap hashmap=new HashMap (;
for(intI=0; i1000; I ) {
Hashmap.put(''I,' hello ' );
}
long bs=Calendar.getInstance ().getTimeInMillis );
iterator iterator=hashmap.keyset ().iterator );
//String value=';
while(iterator.Hasnext () ) )。
//value=hashmap.get (iterator.next );
system.out.println(Hashmap.get ) iterator.next ();
}
system.out.println (calendar.getinstance ().getTimeInMillis ) (- bs );
列表散列映射(;
}
公共静态语音列表hashmap () {
Java.util.hashmap hashmap=new Java.util.hashmap (;
for(intI=0; i1000; I ) {
Hashmap.put(''I,' hello ' );
}
long bs=Calendar.getInstance ().getTimeInMillis );
//Set set=hashmap.entrySet (;
Java.util.iterator it=hashmap.entryset ().iterator );
while(it.Hasnext ) ) ) )。
Java.util.map.entry entry=(Java.util.map.entry ) it.next );
//entry.getKey ) )返回与此条目对应的密钥
//entry.getValue ) )返回与此条目对应的值
system.out.println (输入. getvalue ();
}
system.out.println (calendar.getinstance ().getTimeInMillis ) (- bs );
}
}
对keySet实际扫描2次,1次转移到iterator,1次从hashmap中取出对key的value。
而且,entryset只是第一次扫描,他把key和value放进了entry,所以就快了。
我们制作web时,可能很少用vo对象或form封装信息,所以使用hashmap时,其内存中有上面的对象。 因此,使用entryset提高了导线测量的性能。
hashmap经常被使用,例如在导入信息时使用。 许多导入的信息都可以使用containsKey进行处理,以确定是否存在重复的信息。 插入时不需要处理。