Perbedaan Antara ArrayList dan LinkedList

Perbedaan Utama - ArrayList vs LinkedList
 

Koleksi berguna untuk menyimpan data. Dalam array normal, ukuran array tetap. Terkadang diperlukan untuk membuat array yang dapat tumbuh sesuai kebutuhan. Bahasa pemrograman seperti Java memiliki koleksi. Ini adalah kerangka kerja dengan seperangkat kelas dan antarmuka. Ini berfungsi sebagai wadah untuk sekelompok elemen. Koleksi memungkinkan untuk menyimpan, memperbarui, mengambil set elemen. Ini membantu untuk bekerja dengan struktur data seperti daftar, set, pohon dan peta. Daftar ini adalah antarmuka kerangka kerja Collection. ArrayList dan LinkedList adalah dua kelas dalam kerangka koleksi. Mereka mengimplementasikan antarmuka pengumpulan dan antarmuka daftar. Artikel ini membahas perbedaan antara ArrayList dan LinkedList. ArrayList adalah kelas yang memperluas AbstractList dan mengimplementasikan antarmuka Daftar, yang secara internal menggunakan array dinamis untuk menyimpan elemen data. LinkedList adalah kelas yang memperluas antarmuka AbstractSequentialList dan mengimplementasikan Daftar, Deque, dan Antrian, yang secara internal menggunakan daftar tertaut ganda untuk menyimpan elemen data. Itu adalah perbedaan utama antara ArrayList dan LinkedList.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa itu ArrayList
3. Apa itu LinkedList
4. Kesamaan Antara ArrayList dan LinkedList
5. Perbandingan Berdampingan - ArrayList vs LinkedList dalam Bentuk Tabular
6. Ringkasan

Apa itu ArrayList??

Kelas ArrayList digunakan untuk membuat array dinamis. Tidak seperti array normal, ukuran array dinamis tidak tetap. Objek yang dibuat menggunakan kelas ArrayList diizinkan untuk menyimpan serangkaian elemen dalam daftar. Kapasitas meningkat secara otomatis, sehingga programmer dapat menambahkan elemen ke dalam daftar. Kelas ArrayList memperluas kelas AbstractList yang mengimplementasikan antarmuka Daftar. Oleh karena itu, metode antarmuka Daftar dapat digunakan oleh ArrayList. Untuk mengakses elemen, metode get () digunakan. Metode add () dapat digunakan untuk menambahkan elemen ke daftar. Metode remove () digunakan untuk menghapus elemen dari daftar. Lihat program di bawah ini.

Gambar 01: Contoh ArrayList

Menurut program di atas, objek ArrayList dibuat. Dengan menggunakan metode add, elemen dapat ditambahkan secara dinamis. Elemen "A", "B", "C", "D" dan "E" ditambahkan menggunakan metode add. Metode hapus digunakan untuk menghapus elemen dari daftar. Ketika meneruskan 4 ke metode hapus, huruf dalam indeks ke-4 yang merupakan "E" dihapus dari daftar. Saat mengulang daftar menggunakan loop for, huruf A, B, C dan D akan dicetak.

Apa itu LinkedList??

Mirip dengan ArrayList, LinkedList digunakan untuk menyimpan elemen data secara dinamis. Objek yang dibuat menggunakan kelas LinkedList diizinkan untuk menyimpan serangkaian elemen dalam daftar. Kapasitas meningkat secara otomatis, sehingga programmer dapat menambahkan elemen ke dalam daftar. Secara internal menggunakan daftar tertaut ganda untuk menyimpan data. Dalam daftar tertaut ganda, data disimpan sebagai simpul. Setiap node berisi dua tautan. Tautan pertama menunjuk ke simpul sebelumnya. Tautan berikutnya menunjuk ke simpul berikutnya dalam urutan.

Kelas LinkedList memperluas kelas AbstractSequentialList dan mengimplementasikan antarmuka Daftar. Oleh karena itu, metode antarmuka Daftar dapat digunakan oleh LinkedList. Metode get () dapat digunakan untuk mengakses elemen daftar. Metode add () dapat digunakan untuk menambahkan elemen ke daftar. Metode remove () digunakan untuk menghapus elemen dari daftar. Lihat program di bawah ini.

Gambar 02: Contoh dengan LinkedList

Menurut program di atas, objek LinkedList dibuat. Dengan menggunakan metode add, elemen dapat ditambahkan secara dinamis. Elemen "A", "B", "C", "D" dan "E" ditambahkan menggunakan metode add. Metode hapus digunakan untuk menghapus elemen dari daftar. Ketika melewati 4 ke metode hapus, huruf dalam indeks ke-4 yang merupakan "E" menghapus dari daftar. Saat iterasi menggunakan loop for, huruf A, B, C dan D akan dicetak.

Apa Persamaan Antara ArrayList dan LinkedList?

  • ArrayList dan LinkedList mengimplementasikan antarmuka Daftar.
  • ArrayList dan LinkedList dapat berisi elemen duplikat.
  • ArrayList dan LinkedList mempertahankan urutan penyisipan.

Apa Perbedaan Antara ArrayList dan LinkedList?

ArrayList vs LinkedList

ArrayList adalah kelas yang memperluas AbstractList dan mengimplementasikan antarmuka Daftar yang secara internal menggunakan array dinamis untuk menyimpan elemen data. LinkedList adalah kelas yang memperluas AbstractSequentialList dan mengimplementasikan antarmuka Daftar, Deque, Antrian, yang secara internal menggunakan daftar tertaut ganda untuk menyimpan elemen data.
 Mengakses Elemen
Mengakses elemen ArrayList lebih cepat daripada LinkedList. Mengakses elemen LinkedList lebih lambat daripada ArrayList.
Memanipulasi Elemen
Memanipulasi elemen ArrayList lebih lambat daripada LinkedList. Memanipulasi elemen LinkedList lebih cepat daripada ArrayList.
 Tingkah laku
ArrayList berkinerja sebagai Daftar. LinkedList berkinerja sebagai Daftar dan Antrian.

Ringkasan - ArrayList vs LinkedList

Kerangka kerja pengumpulan memungkinkan bekerja dengan struktur data seperti daftar, pohon, peta dan set. Daftar ini adalah antarmuka kerangka kerja pengumpulan. Artikel ini membahas perbedaan antara ArrayList dan LinkedList. ArrayList adalah kelas yang memperluas AbstractList dan mengimplementasikan antarmuka Daftar yang secara internal menggunakan array dinamis untuk menyimpan elemen data. LinkedList adalah kelas yang memperluas AbstractSequentialList dan mengimplementasikan antarmuka Daftar, Deque, Antrian, yang secara internal menggunakan daftar tertaut ganda untuk menyimpan elemen data. Itulah perbedaan antara ArrayList dan LinkedList.

Referensi:

1.Pengenalan ke Daftar Tertaut | Tutorial Struktur Data | Malam studi. Tersedia disini
2. "LinkedList di Java - javatpoint.", The Point, Tersedia di sini
3. "Java ArrayList class - javatpoint." Intinya, Tersedia di sini