Skip to main content

Co to jest arraylist?

Arraylist w programowaniu komputerowym jest struktura danych, która zachowuje się jak tablica komputerowa, ale także w razie potrzeby wdraża możliwość dynamicznego zwiększania wielkości tablicy.W przeciwieństwie do wewnętrznego typu danych tablicy, której nie można zmienić rozmiaru podczas wykonywania programu, struktura ArrayList może rosnąć i zmniejszyć rozmiar tablicy w odpowiedzi na dodanie lub usunięcie elementów.Ma bardzo korzystny profil wydajności, umożliwiający szybki dostęp do gromadzenia danych.Istnieją jednak dwa przypadki, w których jest wolniejszy niż niektóre inne struktury danych, a mianowicie dodanie i usuwanie elementów z środka tablicy.Większość obiektowych języków programowania ma pewien rodzaj implementacji takiej listy, chociaż czasami nazywane są tablicami dynamicznymi.

Korzystanie z ArrayList zapewnia program z możliwością dostępu do obiektów danych z numerem indeksu, zamiast przejśćCała sekwencja danych do znalezienia adresu, która jest wymagana z powiązanymi listami.W razie potrzeby możliwość zwiększenia wielkości tablicy, jest to bardzo zrównoważone podejście, które rozważa zarówno elastyczność, jak i prędkość.Ponadto, gdy elementy są usuwane z takiej listy, rozmiar tablicy jest zmniejszony, uwalniając przestrzeń pamięci.

Jedną zaletą używania arrayList w niektórych innych strukturach danych jest to, że obiekt opakowania nie jest wymagany do zawierania danych danychprzechowywane.W przypadku powiązanej listy lub tabeli skrótu zwykle potrzebny jest osobny obiekt, aby utrzymać technikę stosowaną do trzymania i manipulowania kolekcją.W przypadku ArrayList jedynymi potrzebnymi informacjami na temat obiektów danych jest adres obiektu w pamięci.Oznacza to, że podczas pracy z tego typem listy będzie mniejsze zużycie ogólnych.Większość tablic jest przydzielana jako kolejne lokalizacje pamięci.Tak więc, aby użyć tablicy określonej wielkości, przynajmniej tyle pamięci musi być dostępnych w nieprzerwanej sekwencji bloków.Tablica dynamiczna może się rozmiaru rozmiaru kilka razy, więc może wystąpić fragmentacja pamięci i prowadzić do awarii alokacji pamięci, zatrzymanie wykonywania programu.

Wydajność arraylist jest podobna do korzystania ze standardowej tablicy, chociaż czasy dostępu są nieco wolniejsze, ponieważ są nieco wolniejsze, ponieważTablica jest zamknięta w obiekcie.Jednym z przykładów, w których tablica dynamiczna może zwolnić dramatycznie, w zależności od implementacji, jest to, kiedy należy zmienić rozmiar tablicy.Może to obejmować skopiowanie obecnej tablicy do nowej tablicy, która została przydzielona do nowego pożądanego rozmiaru, powodując tymczasową degradację wydajności.Ten sam problem można wystąpić przy dodawaniu lub usuwaniu elementu ze środka listy, powodując przeniesienie wszystkich następujących elementów do nowej lokalizacji.