Доброго времени суток!
Задачу решил, но вот что код делает, не пойму...
объясните пожалуйста!
import java.util.List;
/*
Время для 10 тысяч вызовов get
*/
public class Solution {
public static void main(String[] args) {
//вывод на экран результатов работы 2 методов fill и getGetTimeInMs еще и создание списков
//что это за страшная строчка getGetTimeInMs(fill(new ArrayList() ?
System.out.println(getGetTimeInMs(fill(new ArrayList())));
System.out.println(getGetTimeInMs(fill(new LinkedList())));
}
//метод fill типа List с переменной list создает 10.000 объектов в каждом списке
public static List fill(List list) {
for (int i = 0; i < 10000; i++) {
list.add(new Object());
}
return list;
}
public static long getGetTimeInMs(List list) {
/* тут мы сравниваем время до запуска метода get10000 и после
Date start = new Date();
get10000(list);
Date finish = new Date();
long ms = finish.getTime() - start.getTime();
return ms;
*/
}
// что тут происходит ?
public static void get10000(List list) {
if (list.isEmpty()) {
return;
}
int x = list.size() / 2;
for (int i = 0; i < 10000; i++) {
list.get(x);
}
}
}