通过扩大数据量,来查看该算法性能
创建一个自定义数组
public class ArrayTager {
public static Integer[] CreaterArray(int n){
Integer[] arr = new Integer[n];
for (int i = 0; i < n ; i++) {
arr[i] = i;
}
return arr;
}
}
测试之前我们简单写过的线性查找法
public class NewLinerSearch {
//泛型
public static <E> Integer newLinerSearch(E[] arr, E num) {
for (int i = 0; i < arr.length; i++) {
if (arr[i].equals(num)) {
return i;
}
}
return -1;
}
public static void main(String[] args) {
// 自定义数组
Integer[] arr = ArrayTager.CreaterArray(1000000);
// 创建一个开始时间戳
long startTime = System.nanoTime();
NewLinerSearch.newLinerSearch(arr, 100000);
// 创建一个结束的时间戳
long endTime = System.nanoTime();
double time = (endTime - startTime) / 1000000000.0;
System.out.println(time + "s");
}
}
结果为0.0023156s,当然这个的快慢与电脑性能有一定的关系。