Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Daftar dan ArrayList di Jawa

Daftar dan ArrayList adalah anggota kerangka kerja Collection. Daftar adalah kumpulan elemen dalam urutan di mana setiap elemen adalah objek dan elemen diakses oleh posisi di sana (indeks). ArrayList membuat array dinamis objek yang menambah atau mengurangi ukuran kapan pun diperlukan. Perbedaan utama antara List dan ArrayList adalah List adalah sebuah antarmuka dan ArrayList adalah sebuah kelas. Mari kita mempelajari perbedaan antara Daftar dan ArrayList dengan bantuan grafik perbandingan yang ditunjukkan di bawah ini.

Grafik perbandingan

Dasar untuk PerbandinganDaftarArrayList
DasarDaftar adalah AntarmukaArrayList adalah Kelas Koleksi standar.
SintaksisDaftar antarmukakelas ArrayList
Perpanjang / ImplementAntarmuka daftar memperluas Kerangka Koleksi.ArrayList memperluas AbstractList dan mengimplementasikan Daftar Antarmuka.
NamespaceSystem.Collections.Generic.System.Collections.
KerjaIni 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

  1. Salah satu perbedaan paling penting antara Daftar dan ArrayList adalah daftar itu adalah antarmuka dan ArrayList adalah kelas Koleksi standar.
  2. Daftar antarmuka memperluas kerangka kerja Koleksi sedangkan, ArrayList memperluas Kelas AbstractList dan mengimplementasikan antarmuka Daftar .
  3. Namespace untuk List interface adalah System.Collection.Generic sedangkan, namespace untuk ArrayList adalah System.Collection .
  4. 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.

Top