Różnica Między Tablicami A Tablicami

Różnica Między Tablicami A Tablicami
Różnica Między Tablicami A Tablicami

Wideo: Różnica Między Tablicami A Tablicami

Wideo: Różnica Między Tablicami A Tablicami
Wideo: Создание таблиц в SQL | Основы SQL 2024, Kwiecień
Anonim

Tablice a tablice

Tablice są najczęściej używaną strukturą danych do przechowywania kolekcji elementów. Większość języków programowania udostępnia metody umożliwiające łatwe deklarowanie tablic i uzyskiwanie dostępu do elementów w tablicach. Tablicę arraylistyczną można postrzegać jako tablicę dynamiczną, której rozmiar może się zwiększać. Z tego powodu programista nie musi znać rozmiaru tablicy arraylisty, kiedy ją definiuje.

Co to są tablice?

Na rysunku 1 pokazano fragment kodu zwykle używany do deklarowania i przypisywania wartości do tablicy. Rysunek 2 przedstawia, jak tablica wyglądałaby w pamięci.

wartości [0] = 100;

wartości [1] = 101;

wartości [2] = 102;

wartości [3] = 103;

wartości [4] = 104;

Rysunek 1: Kod do deklarowania i przypisywania wartości do tablicy

100 101 102 103 104 Indeks: 0 1 2 3 4

Rysunek 2: Tablica przechowywana w pamięci

Powyższy kod definiuje tablicę, która może przechowywać 5 liczb całkowitych, a dostęp do nich uzyskuje się za pomocą indeksów od 0 do 4. Jedną z ważnych właściwości tablicy jest to, że cała tablica jest alokowana jako pojedynczy blok pamięci, a każdy element otrzymuje własną przestrzeń w tablicy. Po zdefiniowaniu tablicy jej rozmiar jest ustalany. Więc jeśli nie masz pewności co do rozmiaru tablicy w czasie kompilacji, musisz zdefiniować wystarczająco dużą tablicę, aby była bezpieczna. Ale w większości przypadków będziemy używać mniejszej liczby elementów niż przydzieliliśmy. Tak więc znaczna ilość pamięci jest marnowana. Z drugiej strony, jeśli „wystarczająco duża tablica” nie jest w rzeczywistości wystarczająco duża, program ulegnie awarii.

Co to są Arraylists?

Tablicę arraylistyczną można postrzegać jako tablicę dynamiczną, której rozmiar może się zwiększać. Dlatego arraylists są idealne do wykorzystania w sytuacji, gdy nie znasz rozmiaru elementów wymaganych w momencie deklaracji. W Javie arraylisty mogą przechowywać tylko obiekty, nie mogą bezpośrednio przechowywać typów pierwotnych (można umieścić typy pierwotne wewnątrz obiektu lub użyć klas opakowujących typów pierwotnych). Na ogół arraylisty są wyposażone w metody wykonywania wstawiania, usuwania i wyszukiwania. Złożoność czasowa dostępu do elementu wynosi o (1), podczas gdy wstawianie i usuwanie ma złożoność czasową o (n). W Javie arraylists można przechodzić za pomocą pętli foreach, iteratorów lub po prostu za pomocą indeksów.

Jaka jest różnica między tablicami a tablicami

Mimo że tablice i listy tablicowe są podobne w tym sensie, że oba są używane do przechowywania kolekcji elementów, różnią się sposobem ich definiowania. Rozmiar tablicy należy podać podczas definiowania tablicy, ale można zdefiniować listę arraylistyczną bez znajomości rzeczywistego rozmiaru. Możesz dodawać elementy do tablicy po jej zdefiniowaniu, a nie jest to możliwe w przypadku tablic. Jednak w Javie arraylisty nie mogą przechowywać typów pierwotnych, ale tablice mogą służyć do przechowywania typów pierwotnych. Ale jeśli potrzebujesz struktury danych, która może zmieniać swój rozmiar, najlepszym wyborem będzie arraylist.

Zalecane: