Подтвердить что ты не робот

Какова временная сложность вызова size() в LinkedList в Java?

Как спрашивает название, мне интересно, использует ли метод size() в классе LinkedList амортизированное время O (1) или время O (n).

4b9b3361

Ответ 1

Это O (1). Вы можете использовать Google для исходного кода, и вы придете к такому:

От http://www.docjar.com/html/api/java/util/LinkedList.java.html

Все классы коллекции, которые я просмотрел, хранят размер как переменную и не перебирают все, чтобы получить его.

Ответ 2

O (1), как вы бы нашли, посмотрев исходный код...

Из LinkedList:

private transient int size = 0;

...

/**
 * Returns the number of elements in this list.
 *
 * @return the number of elements in this list
 */
public int size() {
   return size;
}