- importjava.util.Calendar;
- importjava.util.Date;
- importjava.util.HashMap;
- importjava.util.Iterator;
- importjava.util.Map.Entry;
- /**
- *测试keySet()与entrySet()的迭代时间
- *keySet():迭代后只能通过get()取key
- *entrySet():迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口
- *最后说明下keySet()的速度比entrySet()慢了很多。看来以后要考虑用entrySet()了
- *@authorYL
- *@date2009.6.10
- */
- publicclassHashMapTest
- {
- publicstaticvoidmain(String[]args)
- {
- HashMap<String,String>kmap=newHashMap<String,String>();
- HashMap<String,String>emap=newHashMap<String,String>();
- //装数据
- for(inti=0;i<1000;i++)
- {
- kmap.put(""+i,"YL");
- }
- for(inti=0;i<1000;i++)
- {
- emap.put(""+i,"ZT");
- }
- longstimes=System.currentTimeMillis();
- longctimes=Calendar.getInstance().getTimeInMillis();
- longdtimes=newDate().getTime();
- //初始时间这里我用了三种取值方式最后发现System.currentTimeMillis();是最直接的取值方法
- System.out.println(stimes+""+ctimes+""+dtimes);
- Iterator<String>ktor=kmap.keySet().iterator();
- while(ktor.hasNext())
- {
- System.out.println(ktor.next());
- }
- longstimes1=System.currentTimeMillis();
- longctimes1=Calendar.getInstance().getTimeInMillis();
- longdtimes1=newDate().getTime();
- //结束世界并且也是entrySet的开始时间
- System.out.println((stimes1-stimes)+""+(ctimes1-ctimes)+""+(dtimes1-dtimes));
- System.out.println(stimes1+""+ctimes1+""+dtimes1);
- Iterator<Entry<String,String>>itor=emap.entrySet().iterator();
- while(itor.hasNext())
- {
- Entry<String,String>e=itor.next();
- //System.out.println(e.getKey());
- System.out.println(e.getValue());
- }
- longstimes2=System.currentTimeMillis();
- longctimes2=Calendar.getInstance().getTimeInMillis();
- longdtimes2=newDate().getTime();
- System.out.println(stimes2+""+ctimes2+""+dtimes2);
- System.out.println((stimes2-stimes1)+""+(ctimes2-ctimes1)+""+(dtimes2-dtimes1));
- }
- }
keySet()与entrySet()
最新推荐文章于 2022-08-16 06:29:22 发布