Ism*_*hin 7 java contains list
我试图证明之间的差异,List.contains()
并手动搜索执行时间,结果很棒.这是代码,
public static void main(String argv[]) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("a");
list.add("a");
list.add("a");
list.add("a");
list.add("a");
list.add("b");
long startTime = System.nanoTime();
list.contains("b");
long endTime = System.nanoTime();
long duration = endTime - startTime;
System.out.println("First run: "+duration);
startTime = System.nanoTime();
for(String s: list){
if(s.equals("b"))
break;
}
endTime = System.nanoTime();
duration = endTime - startTime;
System.out.println("Second run: "+duration);
}
Run Code Online (Sandbox Code Playgroud)
输出:
第二轮:158685
contains()函数如何产生如此大的差异?
它使用哪种搜索算法?
如果列表包含搜索到的元素,它会在第一个元素处终止搜索吗?
归档时间: |
|
查看次数: |
16293 次 |
最近记录: |