Tablice w to jednorodne struktury danych zaimplementowane w Javie jako obiekty. Tablice przechowują jedną lub więcej wartości określonego typu danych i zapewniają indeksowany dostęp do przechowywania tego samego. Dostęp do określonego elementu w tablicy uzyskuje się poprzez jego indeks. W tym artykule omówimy tablicę dynamiczną w Javie w następującej kolejności:
- Wprowadzenie do tablicy dynamicznej w Javie
- Rozmiar a pojemność
- Podwajanie dołączania
- Usuwanie elementu
- Zmiana rozmiaru tablicy dynamicznej w Javie
Wprowadzenie do tablicy dynamicznej w Javie
Tablica dynamiczna to taki typ tablicy z ogromnym ulepszeniem w zakresie automatycznej zmiany rozmiaru. Jedynym ograniczeniem tablic jest stały rozmiar. Przekłada się to na znaczenie, że możesz określić tylko liczbę elementów, które twoja tablica może pomieścić z wyprzedzeniem. Z drugiej strony tablice dynamiczne mogą się rozszerzać, gdy dodajemy więcej elementów w czasie rzeczywistym. Dlatego koder nie musi z wyprzedzeniem określać rozmiaru tablicy. Ma też kilka mocnych stron:
Szybkie wyszukiwanie . Podobnie jak w przypadku tablic, pobieranie elementu o podanym indeksie zajmuje O (1) czasu.
Zmienny rozmiar . Możemy wstawić tyle elementów, ile chcemy, a tablica dynamiczna odpowiednio się rozszerzy, aby je pomieścić.
Przyjazny dla pamięci podręcznej . Podobnie jak tablice, tablice dynamiczne mogą umieszczać elementy obok siebie w pamięci, dzięki czemu efektywnie wykorzystuje się pamięci podręczne.
Stosowanie tablic dynamicznych w naszym kodzie ma pewne wady. Chociaż używamy tablic dynamicznych bardziej niż cokolwiek innego w większości aplikacji, są pewne przypadki, w których nie stają się one najbardziej preferowanym wyborem ze względu na swoje ograniczenia.
Powolne dołączanie najgorszego przypadku . Zwykle, podczas dodawania nowego elementu na końcu tablicy dynamicznej, w jednym wystąpieniu pobiera O (1). Jeśli jednak tablica dynamiczna nie ma więcej indeksów dla nowego elementu, będzie musiała się rozszerzyć, co zajmuje O (n) naraz.
Kosztowne wstawianie i usuwanie. Podobnie jak w przypadku tablic, elementy są przechowywane obok siebie. Tak więc podczas dodawania lub usuwania elementu w środku tablicy wymaga odepchnięcia innych elementów, co zajmuje O (n) naraz.
Poniższe diagramy pokazują, jak tablice działają w czasie rzeczywistym i pokazują, w jaki sposób elementy są ułożone w stos. Pokazuje również, jak zmieniają się instrukcje dla przeciętnego przypadku i najgorszego przypadku funkcji tablicowych.
Rozmiar a pojemność
Kiedy inicjalizujemy tablicę dynamiczną, implementacja tablicy dynamicznej tworzy zrozumiałą tablicę o stałym rozmiarze. Rozmiar początkowy odpowiada wykonaniu. Na przykład, zróbmy tablicę implementacji tak, aby używała 10 indeksów. Teraz dodajemy cztery elementy do naszej tablicy dynamicznej. Teraz nasza dynamiczna tablica ma długość czterech. Jednak nasza podstawowa tablica ma długość 10. Dlatego możemy powiedzieć, że rozmiar tablicy dynamicznej wynosi cztery, a jej pojemność wynosi 10. Tablica dynamiczna przechowuje określony indeks końcowy, aby śledzić punkt końcowy tablicy dynamicznej i początek punkt, od którego zaczyna się dodatkowa zdolność.
Podwajanie dołączania
Może się zdarzyć, że spróbujemy dołączyć element do tablicy, w której pojemność jest już pełna. W związku z tym, aby tworzyć dynamiczne tablice pomieszczeń, automatycznie twórz nową, większą i podstawową tablicę. Zwykle staje się dwa razy większy, aby obsłużyć wszelkie nowe dodatki, których wcześniej nie przewidział. Dlatego kopiowanie każdego przedmiotu nie zajmuje czasu. Za każdym razem, gdy dołączanie elementu do naszej tablicy dynamicznej automatycznie tworzy nową tablicę bazową o podwójnym rozmiarze, której dołączenie nie zajmuje czasu.
Usuwanie elementu
Podczas usuwania elementu z tablicy domyślna metoda „remove ()” usuwa element z końca i automatycznie zapisuje zero na ostatnim indeksie. Usunie również elementy w określonym indeksie, wywołując metodę removeAt (i), gdzie „I” to indeks. Metoda removeAt (i) przesuwa wszystkie prawe elementy po lewej stronie z danego indeksu.
jak stworzyć zestaw
Zmiana rozmiaru tablicy
Gdy tablice nie mają danych po prawej stronie tablicy, które zajmują niepotrzebną pamięć, metoda srinkSize () zwalnia dodatkową pamięć. Gdy wszystkie gniazda są zużywane i dodawane są dodatkowe elementy, podstawowa tablica o stałym rozmiarze musi zwiększyć rozmiar. Rzeczywista zmiana rozmiaru jest kosztowna, ponieważ musimy przydzielić większą tablicę i skopiować wszystkie elementy z tablicy, którą przerosłeś, zanim będzie można w końcu dołączyć nowy element.
Poniżej znajduje się przykład programu, w którym rozmiar tablicy staje się pełny, a nowe elementy są kopiowane do nowej tablicy o podwójnym rozmiarze. Element będący elementem string o nazwie „Mahavir” jest dodatkiem do już pełnej tablicy o rozmiarze 3.
import java.util.ArrayList import java.util.Arrays import java.util.Scanner public class AddingItemsDynamically {public static void main (String args []) {Scanner sc = new Scanner (System.in) System.out.println (' Podaj rozmiar tablicy :: ') int size = sc.nextInt () String myArray [] = new String [size] System.out.println (' Wprowadź elementy tablicy (Strings) :: ') for (int i = 0 wWynik:
W ten sposób dochodzimy do końca artykułu Dynamic Array in Java. Mam nadzieję, że masz pomysł, jak pracować z tablicami dynamicznymi.
Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistami Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na blogu „Tablica dynamiczna w Javie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.