JavaRush /Java Blog /Random-ID /Array di Jawa

Array di Jawa

Dipublikasikan di grup Random-ID
Bayangkan sel-sel di ruang penyimpanan. Masing-masing memiliki nomornya sendiri, dan masing-masing berisi semacam benda “Bagasi”. Atau daftar wine, yang di dalamnya semua jenis wine diberi nomor dan ketika Anda memesan, Anda hanya perlu menyebutkan nomor minumannya. Atau daftar siswa dalam kelompok, di mana siswa “Andreev” akan ditulis di sel pertama, dan “Yakovlev” di sel terakhir. Atau daftar penumpang pesawat yang masing-masing mendapat tempat duduk dengan nomor tertentu. Di Java, untuk bekerja dengan struktur serupa, yaitu banyak data yang homogen, array di Java sering digunakan.

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. Array di Jawa

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.
dataType[] arrayName;
int[] myArray;

Object[]
arrayOfObjects;
Dianjurkan untuk mendeklarasikan array dengan cara ini, ini adalah gaya Java
2.
dataType arrayName[];
int myArray[];

Object
arrayOfObjects[];
Cara warisan mendeklarasikan array dari C/C++ yang juga berfungsi di Java
Dalam kedua kasus tersebut, tipe data adalah tipe variabel dalam array. Dalam contoh kami mendeklarasikan dua array. Satu akan menyimpan bilangan bulat bertipe int , yang lain akan menyimpan objek bertipe Object . Jadi, ketika sebuah array dideklarasikan, ia memiliki nama dan tipe (tipe variabel array). arrayName adalah nama array.

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. Array di Jawa - 3Anda 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:
10

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:
Musim dingin musim semi musim panas musim gugur

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. Array di Jawa - 4Mengapa 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

Array multidimensi

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. Berikut tiga metode berguna dari kelas ini

Urutkan sebuah array

Metode ini void 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 ini String 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:
[I@1540e19d [1, 5, 4, 3, 7] [1, 3, 4, 5, 7] 3 -1
Baris pertama adalah upaya untuk menampilkan array tanpa toString , baris kedua menampilkan array menggunakan toString , baris ketiga adalah array yang diurutkan, baris keempat adalah indeks angka 5 yang diinginkan dalam array yang diurutkan (ingat bahwa kita menghitung dari nol, sehingga elemen keempat dari array memiliki indeks 3). Di baris kelima kita melihat nilainya -1 . Sebuah array tidak memiliki indeks seperti itu. Outputnya memberi sinyal bahwa elemen yang diinginkan (dalam hal ini, 0) tidak ada dalam array.

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.
  1. Sesuatu Tentang Array - Artikel mendetail yang bagus tentang array

  2. Kelas Array dan penggunaannya - artikel ini menjelaskan beberapa metode kelas Array

  3. Array multidimensi - artikel mendetail tentang array multidimensi beserta contohnya.

  4. Mengembalikan array dengan panjang nol, bukan null - Penulis Pemrograman Efektif Joshua Bloch berbicara tentang cara mengembalikan array kosong dengan lebih baik

Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION