Apa itu larik?
Array adalah struktur data yang menyimpan elemen dengan tipe yang sama. Ini dapat dianggap sebagai sekumpulan sel bernomor, yang masing-masing dapat berisi beberapa data (satu elemen data per sel). Akses ke sel tertentu dilakukan melalui nomornya. Jumlah elemen dalam array disebut juga indeks . Dalam kasus Java, arraynya homogen, artinya semua selnya akan menyimpan elemen dengan tipe yang sama. Jadi, array bilangan bulat hanya berisi bilangan bulat (misalnya, bertipe int ), array string hanya berisi string, array elemen kelas Dog yang kita buat hanya akan berisi objek Dog . Artinya, di Java kita tidak bisa meletakkan bilangan bulat di sel pertama array, String di sel kedua , dan “anjing” di sel ketiga.Deklarasi Array
Bagaimana cara mendeklarasikan array?
Seperti variabel lainnya, array di Java harus dideklarasikan. Anda dapat melakukan ini dengan salah satu dari dua cara. Keduanya setara, tetapi yang pertama lebih konsisten dengan gaya Java. Yang kedua adalah warisan bahasa C (banyak programmer C beralih ke Java, dan demi kenyamanan mereka, metode alternatif tetap ada). Tabel ini menunjukkan kedua cara untuk mendeklarasikan array di Java:TIDAK. | Deklarasi array, sintaksis Java | Contoh | Komentar |
---|---|---|---|
1. |
|
|
Dianjurkan untuk mendeklarasikan array dengan cara ini, ini adalah gaya Java |
2. |
|
|
Cara warisan mendeklarasikan array dari C/C++ yang juga berfungsi di Java |
Membuat Array
Bagaimana cara membuat array?
Seperti objek lainnya, Anda dapat membuat array Java, yaitu mencadangkan ruang memori untuknya, menggunakan operator baru . Ini dilakukan seperti ini:new typeOfArray [length];
Dimana typeOfArray adalah tipe array, dan panjangnya adalah panjangnya (yaitu, jumlah sel), dinyatakan dalam bilangan bulat ( int ). Namun, di sini kami hanya mengalokasikan memori untuk array, tetapi belum mengaitkan array yang dibuat dengan variabel apa pun yang dideklarasikan sebelumnya. Biasanya array dideklarasikan terlebih dahulu lalu dibuat, contoh:
int[] myArray; // array declaration
myArray = new int[10]; // creation, that is, allocation of memory for an array of 10 elements of type int
Di sini kita mendeklarasikan array bilangan bulat yang disebut myArray , dan kemudian menyatakan bahwa array tersebut terdiri dari 10 sel (yang masing-masing akan menyimpan bilangan bulat). Namun, jauh lebih umum untuk membuat array segera setelah deklarasi menggunakan sintaksis singkat berikut:
int[] myArray = new int[10]; // declaration and allocation of memory "in one bottle"
Catatan:Setelah membuat array menggunakan new , sel-selnya diisi dengan nilai default. Untuk tipe numerik (seperti dalam contoh kita) ini akan menjadi 0, untuk boolean - false , untuk tipe referensi - null . Jadi, setelah operasi
int[] myArray = new int[10];
kita mendapatkan array sepuluh bilangan bulat, dan hingga perubahan ini selama program berlangsung, setiap sel berisi 0.
Informasi lebih lanjut tentang array dapat ditemukan di artikel “ Sesuatu tentang array ” |
Panjang array di Java
Seperti yang kami katakan di atas, panjang array adalah jumlah elemen yang dirancang untuk array tersebut. Panjang array tidak dapat diubah setelah dibuat. Catatan:Di Java, elemen array diberi nomor mulai dari nol. Artinya, jika kita memiliki array yang terdiri dari 10 elemen, maka elemen pertama array akan memiliki indeks 0, dan elemen terakhir akan memiliki indeks 9. Anda dapat mengakses panjang array menggunakan variabel panjang . Contoh:int[] myArray = new int[10]; // created an array of integers with 10 elements and named it myArray
System.out.println(myArray.length); // printed to the console the length of the array, that is, the number of elements that we can put in the array
Keluaran program:
Menginisialisasi array dan mengakses elemen-elemennya
Cara membuat array di Java sudah jelas. Setelah prosedur ini, kita tidak mendapatkan array kosong, tetapi array yang diisi dengan nilai default. Misalnya, dalam kasus int ini akan menjadi 0, dan jika kita memiliki array dengan data tipe referensi, maka secara default, null ditulis di setiap sel . Kami mengakses elemen array (yaitu, kami menulis nilai ke dalamnya atau menampilkannya di layar atau melakukan beberapa operasi dengannya) berdasarkan indeksnya. Menginisialisasi array berarti mengisinya dengan data tertentu (bukan secara default). Contoh: mari kita buat array 4 musim dan isi dengan nilai string - nama musim tersebut.String[] seasons = new String[4]; /* declared and created an array. Java allocated memory for an array of 4 strings, and now each cell is null (because the string is a reference type)*/
seasons[0] = "Winter"; /* in the first cell, that is, in the cell with a zero number, we wrote the string Winter. Here we get access to the zero element of the array and write a specific value there */
seasons[1] = "Spring"; // do the same procedure with cell number 1 (second)
seasons[2] = "Summer"; // ...number 2
seasons[3] = "Autumn"; // and with the last one, number 3
Sekarang keempat sel array kita berisi nama musim. Inisialisasi juga dapat dilakukan secara berbeda, dengan menggabungkan inisialisasi dan deklarasi:
String[] seasons = new String[] {"Winter", "Spring", "Summer", "Autumn"};
Selain itu, operator baru dapat dihilangkan:
String[] seasons = {"Winter", "Spring", "Summer", "Autumn"};
Bagaimana cara menampilkan array di Java di layar?
Anda dapat menampilkan elemen array di layar (yaitu, ke konsol), misalnya, menggunakan for loop . Cara lain yang lebih singkat untuk menampilkan array di layar akan dibahas dalam paragraf “Metode yang berguna untuk bekerja dengan array” di bawah. Untuk saat ini, mari kita lihat contoh keluaran siklik dari sebuah array:String[] seasons = new String[] {"Winter", "Spring", "Summer", "Autumn"};
for (int i = 0; i < 4; i++) {
System.out.println(seasons[i]);
}
Hasilnya, program akan menampilkan hasil sebagai berikut:
Array Java satu dimensi dan multidimensi
Bagaimana jika kita ingin membuat bukan array angka, array string, atau array beberapa objek, tapi array array? Java memungkinkan Anda melakukan ini. Array int[] myArray = new int[8] yang sudah dikenal adalah array satu dimensi. Dan array dari array disebut dua dimensi. Ibarat tabel yang mempunyai nomor baris dan nomor kolom. Atau, jika Anda mempelajari permulaan aljabar linier, pada matriks. Mengapa array seperti itu diperlukan? Khususnya, untuk pemrograman matriks dan tabel yang sama, serta objek yang strukturnya mirip. Misalnya, lapangan permainan catur dapat ditentukan sebagai larik 8x8. Array multidimensi dideklarasikan dan dibuat sebagai berikut:int[][] myTwoDimentionalArray = new int [8][8];
Terdapat tepat 64 elemen dalam larik ini: myTwoDimentionalArray[0][0]
, myTwoDimentionalArray[0][1]
, myTwoDimentionalArray[1][0]
, myTwoDimentionalArray[1][1]
dan seterusnya hingga myTwoDimentionalArray[7][7]
. Jadi jika kita menggunakannya untuk mewakili papan catur, maka sel A1 akan mewakili myTwoDimentionalArray[0][0]
, dan E2 akan mewakili myTwoDimentionalArray[4][1]
. Dimana ada dua, disitu ada tiga. Di Java, Anda dapat menentukan array dari array... array dari array dari array, dan seterusnya. Benar, array tiga dimensi atau lebih jarang digunakan. Namun, dengan menggunakan array tiga dimensi, Anda dapat memprogram, misalnya, kubus Rubik.
Apa lagi yang harus dibaca |
---|
Metode yang berguna untuk bekerja dengan array
Untuk bekerja dengan array di Java ada kelas java.util.Arrays (array dalam bahasa Inggris berarti “array”). Secara umum, operasi berikut paling sering dilakukan dengan array: mengisi elemen (inisialisasi), mengambil elemen (berdasarkan nomor), mengurutkan dan mencari. Mencari dan mengurutkan array adalah topik terpisah. Di satu sisi, sangat berguna untuk berlatih dan menulis sendiri beberapa algoritma pencarian dan pengurutan. Di sisi lain, semua praktik terbaik telah ditulis dan dimasukkan ke dalam perpustakaan Java, dan dapat digunakan secara legal.
Artikel untuk dicari dan disortir: Algoritma pengurutan dalam teori dan praktek Menerapkan bubble sort di Java Menyortir dan mencari di kursus CS50: Algoritma pengurutan. Sortir gelembung |
Urutkan sebuah array
Metode inivoid sort(int[] myArray, int fromIndex, int toIndex)
mengurutkan array bilangan bulat atau subarraynya dalam urutan menaik.
Mencari array untuk elemen yang diinginkan
int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)
. Metode ini mencari elemen kunci dalam array myArray atau subarray yang sudah diurutkan, dimulai dari fromIndex dan diakhiri dengan toIndex . Jika elemen ditemukan, metode mengembalikan indeksnya, jika tidak - (-fromIndex)-1
.
Mengubah array menjadi string
Metode iniString toString(int[] myArray)
mengubah array menjadi string. Masalahnya adalah dalam array Java jangan menimpa toString() . Artinya jika Anda mencoba menampilkan seluruh array (bukan elemen demi elemen, seperti pada “ Mencetak Array ke Layar ”) ke layar secara langsung ( System.out.println(myArray)
), Anda akan mendapatkan nama kelas dan kode hash heksadesimal dari array tersebut. (ini didefinisikan oleh Object.toString() ). Jika Anda seorang pemula, mungkin Anda belum paham dengan penjelasan caranya toString
. Pada tahap pertama hal ini tidak diperlukan, tetapi dengan menggunakan metode ini keluaran array disederhanakan. Java memudahkan untuk menampilkan array tanpa menggunakan loop. Lebih lanjut tentang ini pada contoh di bawah.
Contoh pengurutan, binerSearch dan toString
Mari buat array bilangan bulat, tampilkan di layar menggunakan toString , urutkan menggunakan metode sortir , dan temukan beberapa angka di dalamnya.class Main {
public static void main(String[] args) {
int[] array = {1, 5, 4, 3, 7}; //declaring and initializing the array
System.out.println(array);//trying to display our array on the screen without the toString method - we get a hexadecimal number
System.out.println(Arrays.toString(array));//печатаем массив "правильно"
Arrays.sort(array, 0, 4); // sort the entire array from zero to the fourth member
System.out.println(Arrays.toString(array));//print the sorted array to the screen
int key = Arrays.binarySearch(array, 5); // ищем key - число 5 в отсортированном массиве.
//binarySearch method will return the index of the sorted array element, in which the required number is "hidden"
System.out.println(key);//распечатываем индекс искомого числа
System.out.println(Arrays.binarySearch(array, 0));//а теперь попробуем найти число, которого в массиве нет,
// and immediately display the result on the screen
}
}
Keluaran program:
Lebih lanjut tentang metode kelas Array Kelas Array dan penggunaannya - artikel ini menjelaskan beberapa metode kelas Array |
Hal utama tentang array
-
Ciri-ciri utama array: tipe data yang ditempatkan di dalamnya, nama dan panjangnya.
Yang terakhir ditentukan selama inisialisasi (mengalokasikan memori untuk array), dua parameter pertama ditentukan saat mendeklarasikan array. -
Ukuran array (jumlah sel) harus ditentukan dalam int
-
Anda tidak dapat mengubah panjang array setelah dibuat.
-
Elemen array dapat diakses berdasarkan indeksnya.
-
Dalam array, seperti di tempat lain di Java, elemen diberi nomor mulai dari nol.
-
Setelah prosedur pembuatan array, array diisi dengan nilai default.
-
Array di Java memiliki struktur yang berbeda dibandingkan di C++. Mereka hampir sama dengan pointer ke array dinamis.
Materi yang berguna tentang array
Ingin tahu lebih banyak tentang array? Silakan simak artikel-artikel dibawah ini. Ada banyak informasi menarik dan berguna mengenai topik ini.-
Sesuatu Tentang Array - Artikel mendetail yang bagus tentang array
-
Kelas Array dan penggunaannya - artikel ini menjelaskan beberapa metode kelas Array
-
Array multidimensi - artikel mendetail tentang array multidimensi beserta contohnya.
-
Mengembalikan array dengan panjang nol, bukan null - Penulis Pemrograman Efektif Joshua Bloch berbicara tentang cara mengembalikan array kosong dengan lebih baik
GO TO FULL VERSION