Sobes.tech
Junior — Middle

Jaka jest złożoność czasowa operacji wyszukiwania i dodawania elementów w ArrayList?

sobes.tech AI

Odpowiedź od AI

Operacje dodawania elementu na koniec listy ArrayList wykonywane są w czasie amortyzowanym O(1), ponieważ w razie konieczności rozszerzenia wewnętrznej tablicy czas ten może się wydłużyć, ale średnio dodawanie jest szybkie.

Wyszukiwanie elementu po indeksie (metoda get(int index)) odbywa się w czasie O(1), ponieważ ArrayList jest zaimplementowany na podstawie tablicy.

Jednak wyszukiwanie elementu po wartości (np. contains() lub indexOf()) wymaga przeszukania elementów i zajmuje czas O(n), gdzie n to liczba elementów na liście.