打字猴:1.700445269e+09
1700445269 int size=10000;
1700445270
1700445271 List<String>list=new ArrayList<String>(size);
1700445272
1700445273 //初始化
1700445274
1700445275 for(int i=0;i<size;i++){
1700445276
1700445277 list.add(“value”+i);
1700445278
1700445279 }
1700445280
1700445281 //记录开始时间,单位纳秒
1700445282
1700445283 long start=System.nanoTime();
1700445284
1700445285 //开始查找
1700445286
1700445287 list.contains(“value”+(size-1));
1700445288
1700445289 //记录结束时间,单位纳秒
1700445290
1700445291 long end=System.nanoTime();
1700445292
1700445293 System.out.println(“list执行时间:”+(end-start)+“ns”);
1700445294
1700445295 //Map的查找时间
1700445296
1700445297 Map<String, String>map=new HashMap<String, String>(size);
1700445298
1700445299 for(int i=0;i<size;i++){
1700445300
1700445301 map.put(“key”+i,“value”+i);
1700445302
1700445303 }
1700445304
1700445305 start=System.nanoTime();
1700445306
1700445307 map.containsKey(“key”+(size-1));
1700445308
1700445309 end=System.nanoTime();
1700445310
1700445311 System.out.println(“map执行时间:”+(end-start)+“ns”);
1700445312
1700445313 }
1700445314
1700445315 两个不同的集合容器,一个是ArrayList,一个是HashMap,都是插入10000个元素,然后判断是否包含最后一个加入的元素。逻辑相同,但是执行的时间差别却非常大,结果如下:
1700445316
1700445317 list执行时间:982527ns
1700445318
[ 上一页 ]  [ :1.700445269e+09 ]  [ 下一页 ]