Java - Array

Java menyediakan struktur data, file array, yang menyimpan kumpulan elemen berurutan ukuran tetap dari tipe yang sama. Sebuah array digunakan untuk menyimpan sekumpulan data, tetapi seringkali lebih berguna untuk menganggap array sebagai kumpulan variabel dengan tipe yang sama.

Daripada mendeklarasikan variabel individual, seperti number0, number1, ..., dan number99, Anda mendeklarasikan satu variabel array seperti angka dan menggunakan angka [0], angka [1], dan ..., angka [99] untuk mewakili variabel individu.

Tutorial ini memperkenalkan cara mendeklarasikan variabel array, membuat array, dan memproses array menggunakan variabel yang diindeks.

Mendeklarasikan Variabel Array

Untuk menggunakan array dalam program, Anda harus mendeklarasikan variabel untuk mereferensikan array, dan Anda harus menentukan jenis array yang dapat direferensikan oleh variabel. Berikut adalah sintaks untuk mendeklarasikan variabel array -

Sintaksis

dataType[] arrayRefVar;   // preferred way.
or
dataType arrayRefVar[];  // works but not preferred way.

Note - Gayanya dataType[] arrayRefVarlebih disukai. GayadataType arrayRefVar[] berasal dari bahasa C / C ++ dan diadopsi di Java untuk mengakomodasi pemrogram C / C ++.

Contoh

Potongan kode berikut adalah contoh sintaks ini -

double[] myList;   // preferred way.
or
double myList[];   // works but not preferred way.

Membuat Array

Anda dapat membuat array dengan menggunakan operator baru dengan sintaks berikut -

Sintaksis

arrayRefVar = new dataType[arraySize];

Pernyataan di atas melakukan dua hal -

  • Ini membuat array menggunakan dataType [arraySize] baru.

  • Ini memberikan referensi dari array yang baru dibuat ke variabel arrayRefVar.

Mendeklarasikan variabel array, membuat array, dan menetapkan referensi array ke variabel dapat digabungkan dalam satu pernyataan, seperti yang ditunjukkan di bawah ini -

dataType[] arrayRefVar = new dataType[arraySize];

Alternatifnya, Anda dapat membuat array sebagai berikut -

dataType[] arrayRefVar = {value0, value1, ..., valuek};

Elemen array diakses melalui index. Indeks array berbasis 0; artinya, mereka mulai dari 0 hinggaarrayRefVar.length-1.

Contoh

Pernyataan berikut mendeklarasikan variabel array, myList, membuat array 10 elemen tipe ganda dan memberikan referensinya ke myList -

double[] myList = new double[10];

Gambar berikut mewakili array myList. Di sini, myList memiliki sepuluh nilai ganda dan indeksnya dari 0 hingga 9.

Memproses Array

Saat memproses elemen array, kami sering menggunakan salah satunya for loop atau foreach loop karena semua elemen dalam array memiliki tipe yang sama dan ukuran array diketahui.

Contoh

Berikut adalah contoh lengkap yang menunjukkan cara membuat, menginisialisasi, dan memproses array -

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
     
      // Summing all elements
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      
      // Finding the largest element
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);  
   }
}

Ini akan menghasilkan hasil sebagai berikut -

Keluaran

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

Loop depan

JDK 1.5 memperkenalkan perulangan for baru yang dikenal sebagai perulangan foreach atau perulangan for yang disempurnakan, yang memungkinkan Anda melintasi larik lengkap secara berurutan tanpa menggunakan variabel indeks.

Contoh

Kode berikut menampilkan semua elemen dalam array myList -

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // Print all the array elements
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

Ini akan menghasilkan hasil sebagai berikut -

Keluaran

1.9
2.9
3.4
3.5

Meneruskan Array ke Metode

Sama seperti Anda bisa meneruskan nilai tipe primitif ke metode, Anda juga bisa meneruskan array ke metode. Misalnya, metode berikut menampilkan elemen dalam fileint larik -

Contoh

public static void printArray(int[] array) {
   for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
   }
}

Anda bisa memanggilnya dengan melewatkan sebuah array. Misalnya, pernyataan berikut memanggil metode printArray untuk menampilkan 3, 1, 2, 6, 4, dan 2 -

Contoh

printArray(new int[]{3, 1, 2, 6, 4, 2});

Mengembalikan Array dari Metode

Suatu metode juga dapat mengembalikan array. Misalnya, metode berikut mengembalikan array yang merupakan pembalikan dari array lain -

Contoh

public static int[] reverse(int[] list) {
   int[] result = new int[list.length];

   for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
      result[j] = list[i];
   }
   return result;
}

Kelas Array

Kelas java.util.Arrays berisi berbagai metode statis untuk mengurutkan dan mencari array, membandingkan array, dan mengisi elemen array. Metode ini kelebihan beban untuk semua tipe primitif.

Sr.No. Metode & Deskripsi
1

public static int binarySearch(Object[] a, Object key)

Mencari array tertentu dari Object (Byte, Int, double, dll.) Untuk nilai yang ditentukan menggunakan algoritma pencarian biner. Larik harus diurutkan sebelum melakukan panggilan ini. Ini mengembalikan indeks dari kunci pencarian, jika itu terdapat dalam daftar; jika tidak, ia mengembalikan (- (titik penyisipan + 1)).

2

public static boolean equals(long[] a, long[] a2)

Mengembalikan nilai benar jika dua larik panjang yang ditentukan sama satu sama lain. Dua larik dianggap sama jika kedua larik berisi jumlah elemen yang sama, dan semua pasangan elemen yang sesuai dalam dua larik adalah sama. Ini mengembalikan nilai true jika dua larik sama. Metode yang sama dapat digunakan oleh semua tipe data primitif lainnya (Byte, short, Int, dll.)

3

public static void fill(int[] a, int val)

Menetapkan nilai int yang ditentukan ke setiap elemen dari larik int yang ditentukan. Metode yang sama dapat digunakan oleh semua tipe data primitif lainnya (Byte, short, Int, dll.)

4

public static void sort(Object[] a)

Mengurutkan larik objek yang ditentukan ke dalam urutan menaik, sesuai dengan urutan alami elemennya. Metode yang sama dapat digunakan oleh semua tipe data primitif lainnya (Byte, short, Int, dll.)