1. ArrayList
kelas
Hari ini kita akan menjelajahi ArrayList
kelas. Ini adalah yang pertama dari beberapa kelas yang dikenal sebagai collections . Di Java, koleksi adalah topik yang sangat luas dan berguna sehingga seluruh pencarian CodeGym dikhususkan untuknya.
Untuk memahami sepenuhnya bagaimana kumpulan disusun dan semua nuansanya, Anda harus terlebih dahulu mempelajari OOP, antarmuka, pewarisan, dasar-dasar multithreading, dan banyak lagi.
Jadi hari ini kita hanya akan berkenalan dengan koleksi yang paling sederhana. Namun pada level yang cukup dalam sehingga Anda mengerti cara menggunakannya dan cara kerjanya. Nah, temui ArrayList
koleksinya .
Latar belakang
Saya akan mulai dengan sedikit latar belakang. Pemrogram benar-benar tidak menyukai satu aspek dari array: fakta bahwa ukurannya tidak dapat diubah. Bagaimana jika Anda perlu menyimpan tiga elemen lagi dalam sebuah array, tetapi hanya ada satu sel kosong?
Satu-satunya solusi untuk keterbatasan ruang array adalah membuat array yang sangat besar untuk mengakomodasi semua elemen yang mungkin perlu Anda simpan. Tapi ini biasanya buang-buang memori. Jika sebuah array biasanya berisi dua atau tiga elemen tetapi ada kemungkinan kecil bahwa ia perlu menyimpan 100 elemen, maka perlu dibuat sebuah array dengan kapasitas untuk menyimpan 100.
Jadi apa yang dihasilkan oleh programmer? Mereka menulis ArrayList
kelas, yang melakukan pekerjaan yang sama dengan Array
kelas, tetapi dapat diubah ukurannya.
kelas ArrayList
Nama kelas ArrayList
dibentuk dari dua kata: Array + Daftar. Array
adalah array dan List
daftar.
Setiap ArrayList
objek berisi array elemen biasa. Saat Anda membaca elemen dari ArrayList
, objek mengambilnya dari larik internalnya. Saat Anda menulis elemen, ia menulisnya ke larik internal.
Kelas ArrayList tidak memiliki semua kelemahan yang dimiliki array. Ia tahu bagaimana:
- Menyimpan elemen dari tipe tertentu
- Ubah ukuran daftar secara dinamis
- Tambahkan elemen ke akhir daftar
- Sisipkan elemen di awal atau tengah daftar
- Hapus elemen dari mana saja dalam daftar
Untuk detail lebih lanjut, lihat di bawah:
2. Membuat ArrayList
objek
Untuk membuat ArrayList
objek, Anda perlu menulis kode seperti ini:
ArrayList<TypeParameter> name = new ArrayList<TypeParameter>();
Di mana ArrayList
tipe/kelas koleksi, TypeParameter
tipe elemen yang disimpan dalam ArrayList
koleksi, dan name
nama variabel ArrayList<TypeParameter>
.
Variabel name
memiliki tipe generik. Ini terdiri dari dua jenis: pertama jenis koleksi ditunjukkan, dan kemudian tanda kurung siku digunakan untuk menunjukkan jenis elemen yang disimpan dalam koleksi.
Contoh:
Kode | Keterangan |
---|---|
|
Daftar bilangan bulat |
|
Daftar string |
|
Daftar bilangan asli |
Tidak seperti array, koleksi tidak dapat menyimpan tipe primitif, hanya tipe referensi . Jadi jika Anda membutuhkan koleksi int
s, gunakan Integer
kelas pembungkus sebagai gantinya.
3. Operasi dengan anArrayList
Awalnya, panjang daftar yang baru dibuat adalah nol, karena berisi 0 elemen. Jika Anda menambahkan satu elemen ke daftar, panjangnya bertambah 1. Jika Anda menghapus elemen yang ditambahkan, panjangnya berkurang kembali ke nol.
Tabel berikut dapat mengajarkan Anda lebih banyak tentang metode kelas ArrayList
:
Metode | Keterangan |
---|---|
|
Menambahkan elemen yang diteruskan ke daftar |
|
Menambahkan elemen ke lokasi tertentu dalam daftar. |
|
Mengembalikan elemen yang indeksnyaindex |
|
Tetapkan value ke elemen yang indeksnya adalahindex |
|
Menghapus elemen yang indeksnya index . Mengembalikan elemen yang dihapus. |
|
Menghapus elemen yang Anda berikan ke metode. Jika ada lebih dari satu elemen seperti itu, elemen pertama akan dihapus. |
|
Membersihkan daftar, yaitu menghapus semua elemen dari daftar. |
|
Periksa apakah daftar berisi value . |
|
Periksa apakah daftar itu kosong atau tidak. Dengan kata lain, apakah panjang daftar adalah nol. |
|
Mengembalikan ukuran daftar, yaitu jumlah elemen dalam daftar. |
|
Mengembalikan array yang berisi elemen dari daftar. Anda harus meneruskan array ke metode. |
Metode ini memungkinkan Anda melakukan hampir semua hal yang mungkin Anda inginkan dengan daftar: menukar elemen, menambahkan elemen, dan menghapus elemen. Anda dapat menghapus daftar dengan satu perintah, atau bahkan mengonversi daftar menjadi larik.
4. Perbandingan ArrayList
danArray
Saya tidak berpikir kita bisa menghindari perbandingan ArrayList
dan array.
Hanya ada 4 tindakan yang dapat Anda lakukan dengan array:
- Buat larik
- Dapatkan elemen berdasarkan indeks
- Tetapkan elemen berdasarkan indeks
- Dapatkan panjang array
Berikut adalah operasi ini yang berlaku untuk array dan ArrayList
:
Himpunan | ArrayList |
---|---|
|
|
|
|
|
|
|
|
Mari kita bandingkan cara ArrayList
kerja sebuah array dengan cara kerja array. Sebagai contoh, mari terapkan tugas ini: "baca 10 string dari keyboard dan tampilkan di layar dalam urutan terbalik"
Menggunakan Larik | Menggunakan ArrayList |
---|---|
|
|
Analoginya jelas. Semuanya entah bagaimana lebih pendek dan lebih jelas untuk array. Tapi ArrayList
tidak sulit juga: untuk mendapatkan elemen, kita menggunakan get()
metode; untuk mengubah elemen, set()
metode; untuk mendapatkan panjang daftar, size()
metode.
Jadi mengapa programmer menggunakan ArrayList
kelas?
Intinya, tentu saja, adalah semua metode lain yang tidak dimiliki array biasa:
- Tambahkan elemen ke daftar
- Tambahkan elemen ke tengah daftar
- Temukan elemen dalam daftar
- Menghapus elemen dari daftar
GO TO FULL VERSION