Java Array. Tablice w Javie. Java dla początkujących
Array array) to potężne narzędzie, które pozwala pracować z dużą ilością danych. Oczywiście, jeśli musisz zapisać na przykład 100 wartości gdzieś w procesie uruchamiania twojego kodu, to wykonanie tej samej liczby zmiennych jest co najmniej nierozsądne. Tablica pozwala na przechowywanie dużej liczby wartości pod jedną nazwą i dostęp do nich w odpowiednim indeksie. Koncepcja tablic jest kamieniem węgielnym w uczeniu się języka Java dla początkujących. W końcu są podstawą wielu struktur danych.
Ponieważ Java jest przede wszystkim OOP, przezW porównaniu z tablicami w innych językach programowania tablica java ma jedną cechę wyróżniającą - są one reprezentowane jako obiekty. Oprócz innych zalet eliminuje potrzebę monitorowania czyszczenia pamięci, ponieważ jest ona automatycznie zwalniana.
Tworzenie i manipulowanie jednowymiarowymi tablicami
Jednowymiarowa tablica jestKlasyczna tablica Javy jest zbiorem elementów powiązanych wspólną nazwą, z których każda ma odpowiedni indeks. Sposób deklarowania tablicy pokazano na poniższym rysunku.
Najpierw deklarowany jest typ tablicy Java, któryokreśla typ przechowywanych w nim wartości. Może to być dowolny poprawny typ danych w Javie. Następnie przyjdzie nazwa tablicy i nawiasy kwadratowe informujące kompilator, że ta zmienna jest tablicą. Zwróć uwagę na ważny fakt. Nawiasy kwadratowe można umieścić za typem podstawowym tablicy i po nazwie tablicy. Po znaku równości, podany jest operator new, który inicjuje przydział pamięci dla tablicy (jak również w przypadku obiektów), typ elementów, które będą w niej przechowywane (musi być zgodny z zadeklarowanym wcześniej typem bazy), a na końcu ich numer wskazane w nawiasach kwadratowych.
Numeracja elementów w tablicy Java zaczyna się od 0. Zatem indeks pierwszego elementu w tej tablicy będzie wynosił 0, a szósty element - 5. Aby odnieść się do określonego elementu tablicy, na przykład piątego, wystarczy podać nazwę tablicy i indeks elementu w nawiasach kwadratowych obok nazwy. W ten sposób możliwe jest zarówno przypisanie wartości do elementu, jak i jego wyodrębnienie. Należy jednak zachować ostrożność, ponieważ w przypadku przekazania indeksu, dla którego nie ma elementu, wystąpi błąd.
Wielowymiarowe tablice w Javie
Wielowymiarowe tablice są wierszamijednowymiarowy, do którego odwołują się elementy innych tablic. Innymi słowy, są to tablice tablic. Najprostsze z nich są dwuwymiarowe. Na ich przykładzie postaramy się zrozumieć tę koncepcję. Dla jasności poniższy rysunek pokazuje składnię i schemat opisujący strukturę dwuwymiarowej tablicy.
Jak widać, składnia nie różni się zbytnio odjednowymiarowe tablice. Złóżmy strukturę. W pierwszych nawiasach przydzieliliśmy miejsce na 5 elementów. Te elementy to nic innego jak linki do poszczególnych tablic. Wielkość każdego z nich jest określona przez liczbę w drugim nawiasie. W istocie macierze są analogiczne do macierzy dwuwymiarowych w matematyce. Zauważ, że oprócz elementów, w pamięci jest przydzielane oddzielne miejsce, w którym przechowywana jest wartość długości tablicy (długość). Z reguły praca z wielowymiarowymi tablicami odbywa się za pomocą zagnieżdżonych pętli.
Nieregularne tablice
Tablica dwuwymiarowa to tablica tablic. To już odkryliśmy. Ale czy zawarte w nim tablice mają różną długość? Odpowiedź brzmi: tak, mogą. Aby to zrobić, Java zapewnia możliwość zadeklarowania dwuwymiarowej tablicy w specjalny sposób. Na przykład chcemy stworzyć dwuwymiarową tablicę, która będzie przechowywać w sobie trzy jednowymiarowe tablice o długości odpowiednio 2, 3 i 4. Jest zadeklarowany w następujący sposób:
intarr [] [] = newint [3] [];
Zwróć uwagę, że nie podaliśmy liczby w drugim nawiasie. Określanie rozmiaru tablic w arr odbywa się w następujący sposób:
arr [0] = new int [2];
arr [1] = new int [3];
arr [2] = newint [4];
Nawiązując do pozycji 0, wskazującejna pierwszej tablicy zadeklarujemy ją z wymiarem 2. Pod elementem o indeksie 1 zostanie zapisana tablica wymiaru 3 i tak dalej. To całkiem proste.
Alternatywna składnia deklaracji tablicy java
Możesz również zainicjować tablice bezpośrednio podczas ich tworzenia. To całkiem proste.
Zwróć uwagę na deklaracje tablicy jerseyNumer i playerName.
W przypadku tablic dwuwymiarowych ta reklama wygląda następująco:
int [] [] arr = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}
Aby to zrobić, zamiast operatora nowy otwartynawiasy klamrowe, w których znajdują się wszystkie elementy, oddzielone przecinkami. Java w tym przypadku automatycznie alokuje dla nich pamięć i odpowiednio je indeksuje.
Arrays Helper Class
Do pracy z elementami takimi jak tabliceJava, w pakiecie java.util, jest specjalna tablica klasy, która zapewnia wiele statycznych metod, które znacznie ułatwiają operacje z nimi. Lista podstawowych metod została przedstawiona na rysunku poniżej.
Przeanalizujmy niektóre z najbardziej użytecznych metod tablic Java:
- copyOf (tablica, długość) - zwraca kopiętransmitowana tablica o odpowiedniej długości. Jeśli przenoszona długość jest większa niż oryginalna tablica, wszystkie "dodatkowe" elementy są wypełniane wartością domyślną (0, jeśli typ jest prosty, i null, jeśli odwołanie jest).
- copyOfRange (tablica, pierwszy indeks, ostatniindeks) - nie wskazano na rysunku, ale jest to przydatna metoda. Kopiuje część przesłanej tablicy, zdefiniowaną przez odpowiednie indeksy, zaczynając od pierwszej i kończąc na ostatniej.
- sort (tablica) - sortuje elementy tablicy w porządku rosnącym.
- fill (array, value) - wypełnia przesłaną tablicę odpowiednią wartością.
- binarySearch (tablica, wartość) - zwracaindeks, pod którym element o odpowiedniej wartości znajduje się w podanej posortowanej tablicy. Jeśli nie ma takiego elementu, zwracana jest liczba ujemna.
Ponieważ metody są statyczne, aby je wywołać, nie trzeba tworzyć instancji klasy Arrays. Są one wywoływane bezpośrednio z niego: Arrays.sort (arr).
Wniosek
Przyjrzeliśmy się najważniejszym aspektom.stosunkowo tablice, a dla tych, którzy dopiero zaczynają uczyć się języka Java dla początkujących, wystarczy to do podstawowego zrozumienia jednostki, takiej jak tablica, oraz podstawowych technik pracy z nią. Oczywiście, praktyka da lepszy wgląd w działanie tego narzędzia. Dlatego nie bądź leniwy, aby wykonać kilka ćwiczeń, manipulując tablicami na różne sposoby.
Klasa pomocnicza Array Java jest już używana w warunkach "walki", dlatego na początek zaleca się ręczne wykonanie wszystkich podstawowych operacji z tablicami.