Perbedaan Utama - ArrayList vs LinkedList
Koleksi berguna untuk menyimpan data. Dalam larik normal, ukuran larik ditetapkan. Terkadang diperlukan untuk membuat array yang dapat tumbuh sesuai kebutuhan. Bahasa pemrograman seperti Java memiliki koleksi. Ini adalah kerangka kerja dengan sekumpulan kelas dan antarmuka. Ini berfungsi sebagai wadah untuk sekelompok elemen. Koleksi memungkinkan untuk menyimpan, memperbarui, mengambil sekumpulan elemen. Ini membantu untuk bekerja dengan struktur data seperti daftar, set, pohon dan peta. Daftar tersebut adalah antarmuka kerangka Koleksi. ArrayList dan LinkedList adalah dua kelas dalam kerangka koleksi. Mereka menerapkan antarmuka koleksi dan antarmuka Daftar. Artikel ini membahas perbedaan antara ArrayList dan LinkedList. ArrayList adalah kelas yang memperluas AbstractList dan mengimplementasikan antarmuka List, yang secara internal menggunakan array dinamis untuk menyimpan elemen data. LinkedList adalah kelas yang memperluas AbstractSequentialList dan mengimplementasikan antarmuka List, Deque, dan Queue, yang secara internal menggunakan daftar tertaut ganda untuk menyimpan elemen data. Itulah perbedaan utama antara ArrayList dan LinkedList.
ISI
1. Gambaran Umum dan Perbedaan Utama
2. Apa itu ArrayList
3. Apa itu LinkedList
4. Persamaan Antara ArrayList dan LinkedList
5. Perbandingan Berdampingan - ArrayList vs LinkedList dalam Bentuk Tabular
6. Ringkasan
Apa ArrayList?
Kelas ArrayList digunakan untuk membuat array dinamis. Tidak seperti larik normal, ukuran larik dinamis tidak tetap. Objek yang dibuat menggunakan kelas ArrayList diizinkan untuk menyimpan satu set elemen dalam daftar. Kapasitas meningkat secara otomatis, sehingga pemrogram 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 () bisa 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, sebuah objek ArrayList dibuat. 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 di indeks ke-4 yaitu "E" dihapus dari daftar. Saat melakukan iterasi melalui daftar menggunakan for loop, 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 diperbolehkan untuk menyimpan sekumpulan elemen dalam daftar. Kapasitas meningkat secara otomatis, sehingga pemrogram dapat menambahkan elemen ke dalam daftar. Ini secara internal menggunakan daftar tertaut ganda untuk menyimpan data. Dalam daftar tertaut ganda, data disimpan sebagai node. Setiap node berisi dua link. Tautan pertama mengarah ke simpul sebelumnya. Tautan berikutnya menunjuk ke simpul berikutnya dalam urutan.
Kelas LinkedList memperluas kelas AbstractSequentialList dan mengimplementasikan antarmuka List. Oleh karena itu, metode antarmuka Daftar dapat digunakan oleh LinkedList. Metode get () dapat digunakan untuk mengakses elemen daftar. Metode add () bisa 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. 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. Saat melewati 4 ke metode hapus, huruf di indeks ke-4 yaitu "E" akan dihapus dari daftar. Saat melakukan iterasi menggunakan for loop, huruf A, B, C dan D akan dicetak.
Apa Persamaan Antara ArrayList dan LinkedList?
- ArrayList dan LinkedList mengimplementasikan antarmuka List.
- Baik ArrayList dan LinkedList dapat berisi elemen duplikat.
- Baik ArrayList dan LinkedList mempertahankan urutan penyisipan.
Apa Perbedaan Antara ArrayList dan LinkedList?
Artikel Diff Tengah sebelum Tabel
ArrayList vs LinkedList |
|
ArrayList adalah kelas yang memperluas AbstractList dan mengimplementasikan antarmuka Daftar yang secara internal menggunakan larik dinamis untuk menyimpan elemen data. | LinkedList adalah kelas yang memperluas AbstractSequentialList dan mengimplementasikan antarmuka List, Deque, Queue, 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. |
Elemen Memanipulasi | |
Memanipulasi elemen ArrayList lebih lambat daripada LinkedList. | Memanipulasi elemen LinkedList lebih cepat daripada ArrayList. |
Tingkah laku | |
ArrayList berfungsi sebagai List. | LinkedList berfungsi sebagai List dan Queue. |
Ringkasan - ArrayList vs LinkedList
Kerangka pengumpulan memungkinkan bekerja dengan struktur data seperti daftar, pohon, peta, dan set. Daftar tersebut adalah antarmuka kerangka koleksi. Artikel ini membahas perbedaan antara ArrayList dan LinkedList. ArrayList adalah kelas yang memperluas AbstractList dan mengimplementasikan antarmuka Daftar yang secara internal menggunakan larik dinamis untuk menyimpan elemen data. LinkedList adalah kelas yang memperluas AbstractSequentialList dan mengimplementasikan antarmuka List, Deque, Queue, yang secara internal menggunakan daftar tertaut ganda untuk menyimpan elemen data. Itulah perbedaan antara ArrayList dan LinkedList.