Skip to main content

Co to jest dynamiczna tablica?

Tablica dynamiczna to struktura danych używana w programowaniu komputerowym, która zawiera wiele obiektów obliczeniowych jako pojedynczej grupy i może być zmieniona w testamencie, aby pomieścić różne liczby obiektów.Grupa jest przechowywana w jednym ciągłym bloku pamięci, więc dostęp do elementów jest wydajny i szybki.Tablice dynamiczne są również nazywane wektorami lub listami, w zależności od języka komputerowego, w którym są używane.Pomimo tych nazw, każda konkretna lista lub wektor może nie być tablicą dynamiczną, ponieważ listy i wektory mogą być zaimplementowane inaczej od tablic i od siebie.nazywany standardową biblioteką szablonów.Do tablicy, która popiera tę klasę, mogą uzyskać dostęp do iteratorów lub indeksów.Jego zdolność do zmiany rozmiaru na żądanie jest wielką zaletą, ale może zwabić programistów w fałszywe poczucie bezpieczeństwa, ponieważ nie jest tak solidna, jak się wydaje.Dynamiczne wsparcie tablicy wektor nie może upewnić się, że żądania dostępu są prawidłowe.Podobnie jak tablice statyczne, dynamiczne tablice mogą mieć problemy z sprawdzaniem i uszkodzeniem pamięci, jeśli program próbuje uzyskać dostęp do pamięci, która nie została dla nich przydzielona.

Java zawiera trzy różne klasy dynamicznych tablic: wektor, arraylist i copyOnWriteArrayList.Do elementów w tablicy są dostępne tylko przez indeksy, a próba dostępu do indeksów poza tablicą zwykle nie powoduje problemów z uszkodzeniem pamięci.Klasa Java Vector jest mniej więcej równoważna klasie wektorowej C ++ i nie jest synchronizowana, aby umożliwić dostęp przez wiele wątków.ArrayList i CopyOnWriteArrayList, natomiast są bezpieczne dla wątków.Spośród tych trzech, CopyOnWriteArrayList jest najbardziej pracochłonną klasą, ponieważ całkowicie odtwarza dynamiczną tablicę za każdym razem, gdy nowa wartość jest zapisywana do tablicy.

Tablice dynamiczne są wdrażane zasadniczo w ten sam sposób niezależnie od zaangażowanego języka komputerowego, aleW zależności od konkretnego języka mogą być na nim oparte inne możliwości.Podobnie jak tablice statyczne, tablice dynamiczne nie ograniczają rodzaju obiektu, który można przechowywać w nich, o ile wszystkie są tym samym typem obiektu.Programista nigdy nie musi bezpośrednio uzyskiwać dostępu do tablicy dynamicznej;Zawsze można to zrobić za pośrednictwem klasy, która owija tablicę w celu łatwego użycia.Właściwe użycie tych tablic może pomóc programistowi z organizacją danych wewnętrzną, a także w tworzeniu zrozumiałego kodu, który nadaje się do łatwej konserwacji.