Grafik perbandingan
Dasar untuk Perbandingan | Daftar | ArrayList |
---|---|---|
Dasar | Daftar adalah Antarmuka | ArrayList adalah Kelas Koleksi standar. |
Sintaksis | Daftar antarmuka | kelas ArrayList |
Perpanjang / Implement | Antarmuka daftar memperluas Kerangka Koleksi. | ArrayList memperluas AbstractList dan mengimplementasikan Daftar Antarmuka. |
Namespace | System.Collections.Generic. | System.Collections. |
Kerja | Ini digunakan untuk membuat daftar elemen (objek) yang dikaitkan dengan nomor indeks mereka. | ArrayList digunakan untuk membuat array dinamis yang berisi objek. |
Definisi Daftar
Daftar adalah antarmuka yang memperluas kerangka kerja Koleksi . Daftar antarmuka menggambarkan kumpulan elemen yang diatur secara berurutan. Daftar antarmuka diimplementasikan oleh kelas koleksi standar berikut seperti ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack . Daftar antarmuka memiliki elemen yang dikaitkan dengan nomor indeks mereka. Anda dapat mengakses elemen dalam daftar dengan posisinya (indeks) dalam daftar. Daftar yang dibuat menggunakan antarmuka Daftar dimulai dengan indeks berbasis nol.
Selain metode yang diwarisi oleh kerangka kerja Koleksi, antarmuka Daftar juga mendefinisikan beberapa metode sendiri. Metode yang ditambahkan oleh antarmuka Daftar adalah, tambahkan (int, E) dan addAll (int, Collection) . Metode-metode ini menambahkan elemen ke daftar dengan indeks mereka. Metode di dalam daftar dapat mengeluarkan pengecualian seperti UnsupportedOperationException jika metode ini tidak dapat mengubah daftar. Ketika satu objek dalam daftar tidak kompatibel dengan objek lain dalam daftar, maka ClassCastException dilemparkan. Elemen kosong tidak diperbolehkan dalam daftar jika Anda mencoba memasukkan objek nol dalam daftar, NullPointerException dilempar.
Anda dapat memperoleh elemen dari daftar menggunakan metode get () . Anda dapat mengatur nilai elemen dalam daftar menggunakan metode set () . Anda juga bisa mendapatkan sublist dari daftar menggunakan metode sublist () . Menjadi nyaman untuk beroperasi pada sublist alih-alih daftar.
Definisi ArrayList
Salah satu kelas Koleksi standar adalah ArrayList yang memperluas kelas AbstractList dan juga mengimplementasikan antarmuka Daftar . Kelas ArrayList digunakan untuk membuat array dinamis yang tumbuh dan menyusut kapan pun diperlukan. Daftar yang dibuat menggunakan kelas ArrayList tidak lain adalah array objek. Di Jawa, array standar memiliki panjang tetap, jadi, Anda harus tahu ukuran array terlebih dahulu. Tapi, mungkin Anda tidak tahu berapa lama larik yang Anda butuhkan sampai waktu berjalan. Oleh karena itu, kerangka kerja Collection memperkenalkan kelas ArrayList untuk mengatasi masalah ini.
ArrayList memiliki konstruktor yang membuat array dengan kapasitas awal. Meskipun kapasitas objek kelas ArrayList meningkat secara otomatis ketika elemen ditambahkan ke array, Anda masih dapat secara manual meningkatkan kapasitas objek ArrayList menggunakan metode sureCapacity () . Lebih baik untuk meningkatkan kapasitas array pada awalnya daripada mengalokasikan kembali memori nanti. Karena realokasi lebih mahal daripada mengalokasikan memori sekaligus.
Perbedaan Kunci Antara Daftar dan ArrayList
- Salah satu perbedaan paling penting antara Daftar dan ArrayList adalah daftar itu adalah antarmuka dan ArrayList adalah kelas Koleksi standar.
- Daftar antarmuka memperluas kerangka kerja Koleksi sedangkan, ArrayList memperluas Kelas AbstractList dan mengimplementasikan antarmuka Daftar .
- Namespace untuk List interface adalah System.Collection.Generic sedangkan, namespace untuk ArrayList adalah System.Collection .
- Daftar antarmuka membuat kumpulan elemen yang disimpan dalam urutan dan diidentifikasi atau diakses oleh nomor indeks mereka. Di sisi lain, ArrayList membuat array objek di mana array dapat tumbuh secara dinamis saat diperlukan.
Kesimpulan:
ArrayList mengatasi masalah array statis di Java standar yaitu array tidak dapat tumbuh dalam ukuran begitu dibuat. Ketika array dibuat menggunakan ArrayList, array dinamis dibuat yang dapat tumbuh dan menyusut ukurannya saat dibutuhkan. Kelas Koleksi standar ArrayList memperluas antarmuka Daftar.