Video: Belajar Java Dari Nol: Array 2024
Kelas ArrayList yang digunakan ada di banyak program aplikasi Android hanyalah puncak gunung es koleksi Java. Java library berisi banyak koleksi kelas, masing-masing dengan kelebihan tersendiri. Tabel berisi daftar singkat.
Nama Kelas | Karakteristik |
---|---|
ArrayList | Sebuah array resizable. |
LinkedList | Daftar nilai, masing-masing memiliki bidang yang mengarah ke
berikutnya dalam daftar. |
Stack | Struktur (yang tumbuh dari bawah ke atas) yang dioptimalkan
untuk akses ke nilai paling atas. Anda dapat dengan mudah menambahkan nilai ke bagian atau menghapusnya dari atas. |
Antrian | Struktur (yang tumbuh pada satu ujung) yang dioptimalkan untuk
menambahkan nilai ke satu ujung (bagian belakang) dan menghapus nilai dari ujung lainnya (bagian depan). |
PriorityQueue | Struktur, seperti antrean, yang memberi nilai tertentu (lebih tinggi prioritas)
bergerak ke arah depan. |
HashSet | Kumpulan tidak berisi nilai duplikat. |
HashMap | Kumpulan pasangan kunci / nilai. |
Setiap kelas koleksi memiliki seperangkat metode tersendiri (selain metode yang mewarisi dari AbstractCollection, leluhur dari semua kelas koleksi).
Array adalah kumpulan koleksi tertentu yang dioptimalkan untuk pengindeksan. Artinya, Anda dapat dengan mudah dan efisien menemukan nilai 100 yang tersimpan dalam array, nilai 1, 000th yang tersimpan dalam array, atau nilai 1, 000, 000th yang tersimpan dalam array.
Array adalah fitur yang dapat dipuji, dicoba dan benar dari banyak bahasa pemrograman, termasuk bahasa yang lebih baru seperti bahasa Jawa dan bahasa yang lebih tua seperti FORTRAN. Sebenarnya, sejarah array kembali sejauh ini sehingga kebanyakan bahasa (termasuk Java) memiliki notasi khusus untuk menangani array. Daftar tersebut menggambarkan notasi untuk array dalam program Java sederhana.
paket com allmycode koleksi; kelas publik SimpleCollectionsDemo {public static void main (String [] args) { String [] myArray = new String [4]; myArray [0] = "Halo"; myArray [1] = ","; myArray [2] = "pembaca"; myArray [3] = "!"; untuk sistem (int i = 0; i <4; i ++) {. di luar. cetak (myArray [i]); } Sistem. di luar. println (); untuk (String string: myArray) {System. di luar. print (string);}}}
Angka tersebut menunjukkan output dari run kode dalam daftar. Baik biasa untuk loop dan disempurnakan untuk tampilan loop output yang sama.
Pada daftar, indeks loop biasa menggunakan indeks, dengan setiap indeks ditandai dengan tanda kurung siku.Seperti halnya dengan semua koleksi Java, indeks nilai awal adalah 0, bukan 1. Perhatikan juga angka 4 dalam deklarasi array - ini menunjukkan bahwa "Anda dapat menyimpan 4 nilai dalam array. "
Angka 4 tidak menunjukkan bahwa" Anda dapat memberikan nilai pada myArray [4]. "Sebenarnya, jika Anda menambahkan pernyataan seperti myArray [4] =" Ups! "Ke kode dalam daftar, Anda mendapatkan pesan kesalahan yang tidak menyenangkan (ArrayIndexOutOfBoundsException) saat Anda menjalankan program.
String String [] myArray = new String [4] membuat array kosong dan membuat variabel myArray merujuk ke array kosong itu. Array berpotensi menyimpan sebanyak empat nilai. Tapi, awalnya, variabel itu mengacu pada array yang tidak mengandung nilai. Ini tidak sampai Java menjalankan pernyataan tugas pertama (myArray [0] = "Hello") bahwa array berisi nilai apapun.
Anda dapat dengan mudah dan efisien menemukan nilai 100 yang tersimpan dalam array atau nilai 1, 000, 000th yang tersimpan dalam array. Tidak buruk untuk satu hari kerja. Jadi, apa kelemahan menggunakan array? Kerugian terbesar dari sebuah array adalah bahwa setiap array memiliki batas tetap pada jumlah nilai yang dapat dipegangnya. Saat Anda membuat array dalam daftar, Java menyimpan spasi sebanyak empat nilai String.
Jika, kemudian dalam program ini, Anda memutuskan bahwa Anda ingin menyimpan elemen kelima dalam array, Anda memerlukan kode yang kikuk dan tidak efisien untuk membuat rangkaian yang lebih besar. Anda juga dapat melebih-lebihkan ukuran yang Anda butuhkan untuk sebuah array, seperti yang ditunjukkan pada contoh ini:
String [] myArray = new String [20000000];
Bila melebih-lebihkan, mungkin Anda membuang banyak ruang memori.
Fitur lain yang tidak menyenangkan dari sebuah array adalah kesulitan yang dapat Anda miliki dalam memasukkan nilai baru. Bayangkan memiliki sebuah kotak kayu untuk setiap tahun dalam koleksi Emperor Constantine Comics . Serial ini dimulai pada tahun 307 A. D., ketika Konstantin menjadi kepala Kekaisaran Romawi.
Anda hanya memiliki 1, 700 kotak karena Anda kehilangan sekitar enam tahun (kebanyakan dari tahun 1150 sampai 1155). Kotak tidak diberi nomor, tapi masing-masing ditumpuk satu sama lain dalam garis sepanjang 200 meter. (Garisnya sepanjang lantai 55 gedung pencakar langit itu tinggi.)
Pada sebuah garage sale di Istanbul, Anda menemukan edisi langka Emperor Constantine Comics dari bulan Maret 1152. Setelah bersukacita atas keputusan Anda Komik pertama dari tahun 1152, Anda menyadari bahwa Anda harus memasukkan kotak baru ke dalam tumpukan antara tahun 1151 dan 1153, yang melibatkan perpindahan kotak tahun 2013 sekitar sepuluh sentimeter ke kiri, dan kemudian memindahkan kotak 2012 di tempat kotak 2013, dan kemudian memindahkan kotak 2011 di tempat kotak 2012. Dan seterusnya.
Hidup untuk Kekasih Kaisar Komik Konstantin kolektor akan menjadi melelahkan! Memasukkan nilai ke tengah array besar sama menyebalkan.