Array 3D dan Lebih Jauh
Termasuk bagian Logika & Alur dalam perjalanan Java di Coddy. Pelajaran 7 dari 59.
Sama seperti kamu dapat membuat array 2D (array yang berisi array), kamu dapat membuat array 3D (array yang berisi array yang berisi array), array 4D, dan seterusnya. Ini disebut array multidimensi.
array 3D dapat dibayangkan sebagai kumpulan array 2D yang ditumpuk satu di atas yang lain hingga membentuk struktur seperti kubus. Setiap elemen dalam array 3D diakses menggunakan tiga indeks: satu untuk kedalaman (array 2D yang mana), satu untuk baris, dan satu untuk kolom.
Berikut cara mendeklarasikan dan menginisialisasi array 3D di Java:
data_type[][][] array_name = new data_type[depth][rows][columns];data_type: Tipe elemen yang akan disimpan oleh array.array_name: Nama array.
depth: Jumlah array 2D (kedalaman).rows: Jumlah baris dalam setiap array 2D.columns: Jumlah kolom dalam setiap array 2D.
Misalnya, untuk membuat array 3D berisi bilangan bulat dengan dimensi 2x3x4, kamu akan menulis:
int[][][] cube = new int[2][3][4];Kamu juga dapat menginisialisasi array 3D secara langsung:
int[][][] cube = {
{
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
},
{
{13, 14, 15, 16},
{17, 18, 19, 20},
{21, 22, 23, 24}
}
};Tantangan
MudahTulis program yang menerima tiga argumen bilangan bulat: depth, rows, dan cols. Program harus membuat array 3D berisi bilangan bulat dengan dimensi yang ditentukan dan menginisialisasi setiap elemen array dengan hasil kali indeks kedalaman, baris, dan kolomnya, dimulai dari 1.
Sebagai contoh, elemen pada [d][r][c] harus memiliki nilai (d + 1) * (r + 1) * (c + 1).
Terakhir, cetak array 3D yang dihasilkan ke konsol menggunakan perulangan bersarang. Output-nya akan terlihat seperti ini:
Depth 0:
1 2 3 4
2 4 6 8
3 6 9 12
Depth 1:
2 4 6 8
4 8 12 16
6 12 18 24Coba sendiri
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int depth = scanner.nextInt();
int rows = scanner.nextInt();
int cols = scanner.nextInt();
int[][][] array3D = new int[depth][rows][cols];
// Tulis kodemu di bawah ini
// Cetak array 3D
for (int d = 0; d < depth; d++) {
System.out.println("Depth " + d + ":");
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
System.out.print(array3D[d][r][c] + " ");
}
System.out.println();
}
}
}
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
1Array Multidimensi
Dasar Array 2DMengakses Elemen Array 2DLoop Bersarang dengan Array 2DRangkuman: Array 2DPenjumlahan dan Pengurangan MatriksArray BergerigiArray 3D dan Lebih JauhPola Umum Array 2DRangkuman: Semua tentang Array2HashMap Bagian 1
Apa itu HashMap?Deklarasikan HashMapMengakses nilaiPeriksa apakah key adaMengubah dictionaryRingkasan: HashMap3HashMap Bagian 2
Method HashMapIterasi dengan keySet()Iterasi dengan entrySet()HashMap BersarangRangkuman: Kelola GudangRangkuman: Operasi HashMap6Alur Kontrol Lanjutan
Pernyataan LabelEkspresi SwitchPencocokan PolaKlausa PenjagaRingkasan Alur Kontrol9Proyek: Penghitung Kata Unik
Input dan Penyimpanan TeksPemrosesan KataLatihan sendiri: Compiler Java online