introduction java arrays
W tym samouczku przedstawiono koncepcję tablic w języku Java. Wprowadziliśmy również powiązane tematy, takie jak długość, typy danych, klonowanie, kopiowanie, sortowanie itp. W ramach tablic Java:
W programowaniu zawsze masz do czynienia z danymi. Dane muszą być przechowywane w komórkach pamięci i aby mieć do nich dostęp od czasu do czasu i odpowiednio je przetwarzać, należy nadać im jakąś nazwę. Odbywa się to za pomocą zmiennych.
Tak więc, jeśli chcesz zapisać w pamięci wartość 10, zadeklarujesz zmienną typu int i zapiszesz wartość jako int num = 10;
Teraz załóżmy, że wymagania twojego programu są takie, że potrzebujesz 10 zmiennych typu int.
W takim przypadku będziesz musiał zadeklarować 10 zmiennych typu int w następujący sposób:
int a1;
int a2;
int a3;
int a4;
int a5;
int a6;
int a7;
int a8;
int a9;
int a10;
Powyższe deklaracje narzucą na programistę niepotrzebne obciążenie konserwacją. Zamiast deklarować tak wiele zmiennych, co powiesz na zadeklarowanie jednej zmiennej, a następnie przypisanie jej wszystkich 10 wartości? To właśnie zamierzamy zrobić, definiując tablicę i przypisując do niej wartości.
Zacznijmy od tablic w Javie.
Czego się nauczysz:
- Java Array
- Wniosek
Java Array
Tablice to nic innego jak struktura danych, która służy do przechowywania elementów danych tego samego typu w sposób sekwencyjny. Z powyższego przykładu możesz zmienić definicję dziesięciu zmiennych na jedną zmienną i zapisać wszystkie dziesięć wartości za pomocą indeksów.
Zróbmy to w następujący sposób:
A (0) = 1;
A (1) = 2;
A (2) = 3;
A (3) = 4;
A (4) = 5;
A (5) = 6;
A (6) = 7;
A (7) = 8;
A (8) = 9;
A (9) = 10;
Wszystkie dziesięć wartości zapisaliśmy w zmiennej indeksowanej. Pierwszy indeks zaczyna się od 0. Więc pierwsza wartość to 0thindex, a ostatnia wartość to 9thindeks. Te indeksy są również nazywane indeksami.
W pamięci komputera powyższa tablica A będzie reprezentowana jako:
Teraz możemy zdefiniować tablicę jako zmienną, która jest zbiorem elementów tego samego typu danych i przechowywanych w ciągłych lokalizacjach pamięci. Rozmiar tablicy jest określany w momencie deklaracji, dlatego rozmiar jest stały.
Tablice, które będziemy omawiać w tym samouczku, to tablice o stałym rozmiarze lub statyczne. Java obsługuje również tablice dynamiczne zwane „ArrayList”, których rozmiar można zmieniać w locie. Omówimy szczegółowo ArrayList później.
Poniżej wymieniono niektóre cechy tablic w Javie:
- W Javie Array to obiekt utworzony z dynamicznie generowanej klasy.
- Wewnętrznie tablica Java implementuje interfejsy serializowalny i klonowalny.
- Tablica Java ma również klasę obiektów jako klasę nadrzędną.
- W tablicach Java można przechowywać wartości typów wbudowanych i pochodnych.
- Możesz uzyskać długość tablicy za pomocą elementu length, a nie sizeof, jak w C / C ++.
- Java umożliwia zarówno pojedyncze, jak i wielowymiarowe tablice.
W tym samouczku przedstawimy czytelnikowi wszystkie koncepcje tablic
omówione w tej serii na temat tablic Java.
Zaczynajmy!!
Tablica Java - tworzenie i inicjalizacja
Aby używać ich w programie, należy utworzyć tablice. Tworzenie tablic obejmuje określenie typu danych elementów, które tablica będzie przechowywać, a także liczby elementów, które będzie zawierać tablica.
Omówimy tworzenie tablic na różne sposoby, a także różnymi metodami, za pomocą których możemy inicjować tablice.
Poniżej podano przykład jednej z metod używanych do tworzenia i inicjalizacji tablicy.
public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('myArray(0):' + myArray(0)); System.out.println('myArray(1):' + myArray(1)); System.out.println('myArray(2):' + myArray(2)); System.out.println('myArray(3):' + myArray(3)); System.out.println('myArray(4):' + myArray(4)); } }
Wynik:
W tym programie zadeklarowaliśmy tablicę int, a następnie utworzyliśmy jej instancję przy użyciu new. Następnie zainicjowaliśmy elementy w indeksach 0 i 1 z wartościami odpowiednio 1 i 3.
Na koniec drukujemy wszystkie elementy tablicy. Zauważ, że elementy, których nie zainicjowaliśmy, mają domyślne wartości 0, ponieważ typ tablicy to int.
Drukuj elementy w tablicy Java
Tablice używane w programach muszą być wyświetlane. Do wyświetlania elementów tablic wykorzystujemy specjalne metody, takie jak pętla for, pętla forEach, metoda toString klasy Arrays, itp. W tym temacie omówiono wszystkie metody używane do drukowania elementów tablic.
Poniżej podano program, który używa metody toString klasy „Arrays” do drukowania elementów tablicy.
import java.util.*; public class Main { public static void main(String() args) { int() myArray; myArray = new int(5); myArray(0) = 1; myArray(1) = 3; System.out.println('Array Elements : ' + Arrays.toString(myArray)); } }
Wynik:
Długość tablicy w języku Java
Długość tablicy wskazuje liczbę elementów obecnych w tablicy. W przeciwieństwie do C / C ++, gdzie używamy operatora „sizeof”, aby uzyskać długość tablicy, tablica Java ma właściwość „length”. Później zbadamy tę właściwość więcej.
Poniżej podano program, który wyświetla długość tablicy.
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; System.out.println('Size of the given array : ' + myArray.length); } }
Wynik:
W tym programie zainicjowaliśmy tablicę za pomocą literału tablicowego, a następnie używając właściwości length wyświetlamy rozmiar / długość tablicy.
Typy danych Java Array
Możesz mieć tablice wszystkich typów danych. W tym temacie zajmiemy się tablicami z różnymi typami danych i ich definicjami.
W poniższym programie zdefiniowaliśmy tablice typu int i string oraz wyświetliliśmy ich zawartość .
import java.util.*; public class Main { public static void main(String() args) { int() myArray = {1,3,5,7,9,11}; String() strArray = {'one','two','three','four','five'}; System.out.println('Elements of int array : ' + Arrays.toString(myArray)); System.out.println('Elements of String array : ' + Arrays.toString(strArray)); } }
Wynik:
Dodawanie elementu do tablicy
Dodanie elementu do tablicy jest ważną operacją. Tablice w Javie są statyczne i mają stałą długość. Dlatego musisz podać określony zestaw operacji, aby dodać nowy element do tablicy. Tutaj zostaną omówione różne metody dodawania elementu do tablicy.
Jedną z metod dodawania elementu do tablicy jest użycie ArrayList jako struktury pośredniej. Konwertujemy tablicę na ArrayList. Następnie dodajemy element do ArrayList i zmieniamy ArrayList z powrotem na array.
Poniższy program przedstawia tę realizację.
import java.util.*; class Main { public static void main(String() args) { int n = 10; int i; Integer intArray() = { 1, 2, 3, 4, 5 }; System.out.println('Original Array:
' + Arrays.toString(intArray)); int num = 10; Listintlist = new ArrayList(Arrays.asList(intArray)); intlist.add(num); intArray = intlist.toArray(intArray); System.out.println('
Array after adding ' + num + '
' + Arrays.toString(intArray)); } }
Wynik:
Usuń / Usuń element z tablicy
Usunięcie elementu z tablicy to także kolejna ważna operacja. Java nie pozwala nam bezpośrednio usunąć elementu. Dlatego stosujemy inne opcje, aby to zrobić.
Poniżej podano implementację jednej z metod do usuń element z tablicy przy użyciu ArrayList .
import java.util.*; importjava.util.stream.*; class Main { public static void main(String() args) { int() tensArray = { 10,20,30,40,50}; System.out.println('Input Array: '+ Arrays.toString(tensArray)); int index = 1; System.out.println('Index to be removed: ' + index); if (tensArray == null || index = tensArray.length) { System.out.println('No element to delete'); } ListtensList = IntStream.of(tensArray).boxed().collect(Collectors.toList()); tensList.remove(index); tensArray = tensList.stream().mapToInt(Integer::intValue).toArray(); System.out.println('Array after deleting element at '+ index + ':
'+ Arrays.toString(tensArray)); } }
Wynik:
Tutaj najpierw konwertujemy tablicę na ArrayList, a następnie usuwamy element za pomocą metody ArrayList remove. Następnie konwertujemy ArrayList z powrotem na tablicę i wyprowadzamy zmienioną tablicę.
Kopiowanie tablicy w Javie
Omówimy niektóre operacje kopiowania elementów tablicy z jednej tablicy do drugiej. Omówimy również płytkie i głębokie kopiowanie tablic.
Jedną z takich metod jest metoda copyOf () klasy Arrays pakietu java.util .
import java.util.*; public class Main { public static void main(String() args) { int() intArray = {10,15,20,25,30,35,40}; int array_len = intArray.length; System.out.println('Original Array:' + Arrays.toString(intArray)); int() copy_intArray = Arrays.copyOf(intArray, array_len); System.out.println('Copied Array:' + Arrays.toString(copy_intArray)); } }
Wynik:
Metoda „copyOf” klasy Arrays kopiuje tablicę określoną jako argument wraz z jej długością do innej tablicy.
Klonowanie tablicy w Javie
Możesz także utworzyć klon tablicy w Javie. Java udostępnia odpowiednią metodę w pakiecie ArrayUtils. Tutaj dowiemy się więcej o klonowaniu.
Zaimplementujmy prosty przykład, który klonuje tablicę w Javie.
import java.util.*; class Main { public static void main(String args()) { int num_Array() = {5,10,15,20,25,30}; int clone_Array() = num_Array.clone(); System.out.println('Original num_Array:' + Arrays.toString(num_Array)); System.out.println('Cloned num_Array:'+ Arrays.toString(clone_Array)); } }
Wynik:
Zatem klonowanie to po prostu kopiowanie przy użyciu innej metody.
Sortowanie tablic w Javie
Sortowanie elementów tablicy lub porządkowanie ich w kolejności rosnącej lub malejącej jest jedną z ważnych operacji. Większość aplikacji wymaga sortowania danych. Java zapewnia sortowanie filtrów dla tablic. Omówimy to szczegółowo w ramach sortowania.
Poniżej znajduje się prosty przykład s orting tablicy w Jave przy użyciu metody Arrays.sort () .
import java.util.Arrays; public class Main { public static void main(String() args) { int() num_Array = {115,32,56,78,94,108,100,63}; System.out.println('Original Array: ' + Arrays.toString(num_Array)); Arrays.sort(num_Array); System.out.println('Sorted Array: ' + Arrays.toString(num_Array)); } }
Wynik:
Jak pokazano powyżej, metoda sortowania klasy Arrays sortuje elementy tablicy w kolejności rosnącej.
Odwróć tablicę w Javie
Tablice nie zapewniają również odwrócenia kolejności elementów. Podobnie jak w przypadku usuwania, musimy dokonać pewnych zmian i osiągnąć wyniki. W tym temacie zobaczymy metody odwracania tablicy.
Poniższy program przedstawia implementacja odwracania tablicy .
import java.util.*; public class Main { public static void main(String() args) { Integer () even_Arrayr = {2,4,6,8,10}; System.out.println('Original Array:' + Arrays.asList(even_Arrayr)); Collections.reverse(Arrays.asList(even_Arrayr)); System.out.println('Reversed Array:' + Arrays.asList(even_Arrayr)); } }
Wynik:
Wyjątek ArrayIndexOutOfBounds
Podczas próby uzyskania dostępu do elementów tablicy poza określoną długością lub indeksem ujemnym kompilator zgłasza wyjątek „ArrayIndexOutOfBounds”. Więcej informacji na temat tego wyjątku omówimy w pokrewnym temacie.
import java.util.ArrayList; public class Main { public static void main(String() args) { ArrayListmyList = new ArrayList(); myList.add('one'); myList.add('two'); System.out.println(myList.get(2)); } }
Wynik :
W powyższym programie mamy ArrayList z dwoma wpisami i próbujemy uzyskać wpis o indeksie 2, który nie istnieje. Dlatego program podaje wyjątek IndexOutofBounds.
Tablica ciągów Java i różne metody
Spośród wszystkich typów danych obsługiwanych przez Javę, najważniejszy jest String. Stąd tablica typu String również zasługuje na specjalne omówienie. Ponieważ dane zawarte w tablicy ciągów to głównie tekst, istnieją różne metody manipulowania tekstem.
import java.util.ArrayList; public class Main { public static void main(String() args) { String() rgb = {'Red', 'Green', 'Blue'}; System.out.println('The string array elements:'); for (String item: rgb) { System.out.print(item + ' '); } } }
Wynik:
To jest podstawowy program do tablicy ciągów. Właśnie zadeklarowaliśmy tablicę ciągów i wyświetliliśmy jej zawartość za pomocą pętli forEach.
Tablice wielowymiarowe w Javie
Jak dotąd widzieliśmy tylko jednowymiarowe tablice. Java obsługuje również tablice wielowymiarowe, których elementy są najczęściej ułożone w wierszach i kolumnach. Tablice w Javie stają się bardziej złożone, ponieważ każdy element tablicy może zawierać inną tablicę.
Będziemy eksplorować wielowymiarowe tablice w Javie wraz z ich konkretnymi operacjami tutaj.
Zaimplementujmy przykład dwuwymiarowej tablicy.
class Main { public static void main(String args()) { // declaring and initializing 2D array int array_2d()() = { {1,2,3},{4,5,6},{7,8,9} }; System.out.println('The two-dimensional array is as follows:'); for (int i=0; i<3 ; i++) { for (int j=0; j < 3 ; j++) System.out.print(array_2d(i)(j) + ' '); System.out.println(); } }
Wynik:
Java Array Of Objects
Oprócz przechowywania typów prymitywnych tablice java mogą również przechowywać obiekty. W tym temacie omówimy kilka przykładów tablicy obiektów.
Poniżej podano jeden przykład.
class Main{ public static void main(String args()){ Test testobj() = new Test(2) ; testobj(0) = new Test(); testobj(1) = new Test(); testobj(0).setData(1,3); testobj(1).setData(2,4); System.out.println('For Array Element 0 (testobj(0)):'); testobj(0).displayData(); System.out.println('For Array Element 1 (testobj(1)):'); testobj(1).displayData(); } } class Test{ int val1; int val2; public void setData(int c,int d){ val1=c; val2=d; } public void displayData(){ System.out.print('val1 ='+val1 + '; val2 ='+val2 + '
'); } }
Wynik:
Możemy mieć tablice zawierające elementy jako obiekty. W powyższym programie mamy tablicę obiektów klasy Test. Osobno wywołujemy funkcje składowe dla każdego obiektu, aby ustawić i wyświetlić wartości.
Zwróć tablicę w Javie
W ten sam sposób, w jaki zwracamy zmienną z dowolnej metody, możemy również zwrócić tablicę. Podobnie możemy przekazać tablicę do metody. Obie te możliwości zostaną omówione z przykładami tutaj.
Zwykle odwołanie do tablicy jest przekazywane do / z metody.
Poniższy program demonstruje Zwrot tablicy w Javie .
class Main { static int() add_sub(int val1, int val2) { int() result = new int(2); result(0) = val1 + val2; result(1) = val1 - val2; return result; } public static void main(String() args) { int() result = add_sub(10, 5); System.out.println('val1 + val2 = ' + result(0)); System.out.println('val1 - val2 = ' + result(1)); } }
Wynik:
W powyższym programie wykonujemy dwie operacje czyli dodawanie i odejmowanie dwóch liczb. Wynik każdej operacji jest przechowywany jako element w tablicy. Następnie całe odwołanie do tablicy jest zwracane do funkcji wywołującej.
Java Array Class
Klasa tablic w języku Java to klasa z pakietu java.util, która zapewnia funkcjonalność do manipulowania tablicami. Zapewnia wiele funkcji, takich jak kopiowanie tablicy, sortowanie, konwersja tablicy na ciąg itp.
Tablica ogólna Java
W Javie widzieliśmy już typy generyczne, które są jednostkami niezależnymi od typu. Tablice Java mogą być ogólne, w których można je zdefiniować jako niezależne od typów. Ale kod ogólny nie jest dostępny, gdy generowany jest kod bajtowy, dlatego trudno jest wywnioskować typ elementu, tablica będzie przechowywana w czasie wykonywania.
Dlatego zamiast tablic przełączamy się na listy z frameworka kolekcji Java, gdy wymagane są typy ogólne.
Jednak możemy również mieć strukturę tablicową podobną do generycznej, stosując jedną lub więcej metod. Tutaj zbadamy te metody.
Poniżej przedstawiono przykład jednej z metod wykorzystujących tablice obiektów.
import java.util.Arrays; class Main { public static void main(String() args) { final int length = 5; //integer array object from Generic_Array class Generic_ArrayintArray = new Generic_Array(length); for (int i = 0; i Wynik:

Tak więc w powyższym programie napisaliśmy ogólną klasę tablicową z tablicą obiektów jako elementem i pobierz / ustaw metody do pobierania / ustawiania obiektów tablicowych. Zastąpiliśmy również metodę toString klasy Arrays. W klasie Main tworzymy dwa obiekty ogólnej klasy tablicowej typu Integer i String i przypisujemy im odpowiednie wartości.
Tablice postrzępione w Javie
Tablice postrzępione to tablice wielowymiarowe, z których każdy ma różne rozmiary. Tablica postrzępiona jest również przykładem tablicy tablic.
Poniższy program przedstawia przykład tablicy Jagged.
class Main { public static void main(String() args) { int jagged_array()() = new int(2)(); jagged_array(0) = new int(4); jagged_array(1) = new int(2); for (int i=0; i Wynik:

W powyższym programie mamy tablicę 2D. Pierwszy wymiar tablicy to 4, a drugi to 2. Dane wyjściowe pokazują zawartość obu wymiarów tablicy Jagged.
Tablice w Javie 8
Ponieważ Java 8 była głównym wydaniem Javy, przejdziemy przez zmiany, jakie wprowadziła do tablic. Na przykład, strumienie na tablicach zostały wprowadzone w Javie 8.
Importuj tablicę w Javie
pytania i odpowiedzi na rozmowy kwalifikacyjne z analitykami
Możemy włączyć dodatkową funkcjonalność dla tablic w Javie, importując klasę „Arrays” z pakietu „java.util”.
Możemy również zaimportować pakiet arrayutils dla większej funkcjonalności. Musiałeś zdobyć więcej wiedzy na temat funkcji importu z naszych poprzednich przykładów.
Java Array API i dokumentacja
Java array API to zbiór wszystkich funkcji działających na tablicach Java. Tutaj przejdziemy przez ten interfejs programowania aplikacji (API).
W końcu wymieniliśmy wszystkie właściwości i metody wraz z ich opisem dla tablic Java. Pomoże to czytelnikom w uzyskaniu szybkiego odniesienia.
Często Zadawane Pytania
Pytanie 1) Czy w Javie są prymitywne typy danych Arrays?
Odpowiedź: Nie. Tablice nie są prymitywnymi typami danych, ale tablice są obiektami kontenerów, które przechowują elementy tego samego typu danych w sąsiadujących lokalizacjach.
Pytanie 2) Czy typy odwołań do tablic są w Javie?
Odpowiedź: Tak. Tablica jest kontenerem obiektów i jest traktowana jako referencje.
Pytanie 3) Czy możesz zwiększyć rozmiar tablicy w Javie?
Odpowiedź: Nie. Deklarujesz tablice i tworzysz instancję z rozmiarem. Po określeniu nie można zmienić rozmiaru tablicy.
Wniosek
W tym samouczku przedstawiliśmy koncepcję tablic w Javie. Omówiliśmy główne tematy związane z tablicami Java.
W naszych kolejnych samouczkach szczegółowo zbadamy te tematy związane z tablicami w języku Java.
Miłej nauki !!
rekomendowane lektury
- Java DataTypes, pętle, tablice, przełącznik i asercje
- Wyjątki Java i obsługa wyjątków z przykładami
- Samouczek Java Generics z przykładami
- Interfejs Java i samouczek klasy abstrakcyjnej z przykładami
- Wprowadzenie do języka programowania Java - samouczek wideo
- Ciąg Java z buforem ciągów i samouczek dotyczący tworzenia ciągów
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java
- Tablice wielowymiarowe i postrzępione tablice w języku C #