Dostęp do elementów tablic 2D
Część sekcji Logika i przepływ sterowania ścieżki Java w Coddy. Lekcja 2 z 59.
Dostęp do elementów w tablicy 2D jest podobny do dostępu do elementów w tablicy 1D, ale zamiast używać pojedynczego indeksu, używasz dwóch indeksów: jednego dla wiersza i jednego dla kolumny. Pamiętaj, że indeksy w Javie zaczynają się od 0, więc pierwszy wiersz ma indeks 0, drugi wiersz ma indeks 1 i tak dalej. Podobnie pierwsza kolumna ma indeks 0, druga kolumna ma indeks 1 i tak dalej.
Aby uzyskać dostęp do elementu, najpierw podaj indeks wiersza, a następnie indeks kolumny, używając następującej składni:
arrayName[rowIndex][columnIndex]Na przykład, aby uzyskać dostęp do elementu w drugim wierszu (indeks 1) i trzeciej kolumnie (indeks 2) tablicy dwuwymiarowej o nazwie matrix, napisz:
int element = matrix[1][2];Przypisałoby to zmiennej element wartość elementu z wiersza 1 i kolumny 2.
Uzyskiwanie wymiarów tablicy 2D:
Podobnie jak w przypadku tablic 1D, możesz użyć .length, aby uzyskać wymiary tablicy 2D:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
int numRows = matrix.length; // Pobiera liczbę wierszy: 2
int numCols = matrix[0].length; // Pobiera liczbę kolumn: 3matrix.lengthzwraca liczbę wierszymatrix[0].lengthzwraca liczbę kolumn w pierwszym wierszu
Sprawdzanie granic:
Przed uzyskaniem dostępu do elementu warto sprawdzić, czy indeksy są prawidłowe:
if (rowIndex >= 0 && rowIndex < matrix.length &&
colIndex >= 0 && colIndex < matrix[0].length) {
// Można bezpiecznie uzyskać dostęp do matrix[rowIndex][colIndex]
}Wyzwanie
ŁatwyUtwórz metodę o nazwie getElement, która przyjmuje trzy argumenty:
- Dwuwymiarową tablicę liczb całkowitych o nazwie
matrix. - Liczbę całkowitą
rowIndexreprezentującą indeks wiersza. - Liczbę całkowitą
colIndexreprezentującą indeks kolumny.
Metoda powinna zwrócić element z określonego wiersza i kolumny w tablicy matrix. Jeśli indeks rowIndex lub colIndex wykracza poza zakres (tj. jest mniejszy niż 0 lub większy bądź równy liczbie wierszy lub kolumn), metoda powinna zwrócić -1.
Spróbuj swoich sił
// Napisz kod tylko wewnątrz klasy. Nie pisz main() ani żadnego kodu poza tą klasą.
class GetElement {
public static int getElement(int[][] matrix, int rowIndex, int colIndex) {
// Napisz tutaj swój kod
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Tablice wielowymiarowe
Podstawy tablic 2DDostęp do elementów tablic 2DPętle zagnieżdżone z tablicami 2DPodsumowanie — tablice 2DDodawanie i odejmowanie macierzyTablice postrzępioneTablice 3D i większeTypowe wzorce dla tablic 2DPodsumowanie — wszystko o tablicach2HashMap część 1
Czym jest HashMap?Deklarowanie HashMapDostęp do wartościSprawdzanie, czy klucz istniejeModyfikowanie słownikówPodsumowanie — HashMap3HashMap — część 2
Metody HashMapIterowanie za pomocą keySet()Iterowanie za pomocą entrySet()Zagnieżdżona HashMapPowtórka — zarządzanie magazynemPowtórka — operacje na HashMap6Zaawansowany przepływ sterowania
Instrukcje etykietująceWyrażenie switchDopasowywanie wzorcówKlauzule ochronnePowtórzenie — przepływ sterowania9Projekt — licznik unikalnych słów
Wprowadzanie i przechowywanie tekstuPrzetwarzanie słówPoćwicz samodzielnie: Kompilator Java online