Daftar di Java adalah sub-antarmuka dari yang memberikan solusi optimal dengan konsep seperti akses posisi, iterasi, dan sebagainya. Pada artikel ini, saya akan membahas perbedaan utama antara antarmuka daftar LinkedList vs ArrayList di Java.
Di bawah ini adalah topik yang dibahas dalam artikel ini:
biner ke desimal di java
- Apa itu LinkedList?
- Apa itu ArrayList?
- Persamaan antara LinkedList dan ArrayList
- Perbedaan antara LinkedList dan ArrayList
Apa itu LinkedList?
Setelah array , struktur data terpopuler kedua pasti a . Daftar tertaut adalah struktur data linier yang dibentuk oleh arantai node di mana setiap node berisi nilai dan apenunjukke simpul berikutnya dalam rantai.Juga, tdia tautan terakhir dalam daftar tertaut menunjuk ke nol, menunjukkan akhir rantai.Elemen dalam daftar tertaut disebut a simpul .Node pertama dalam daftar disebut kepala .Node terakhir disebut ekor .
Izinkan saya memberi Anda contoh sederhana dari ini: Bayangkan rantai penjepit kertas yang dihubungkan bersama. Anda dapat dengan mudah menambahkan penjepit kertas lain ke atas atau bawah. Juga mudah untuk memasukkan satu di tengah. Yang harus Anda lakukan hanyalah memutuskan rantai di tengah, tambahkan penjepit kertas baru, lalu sambungkan kembali setengah lainnya. Daftar yang ditautkan mirip dengan ini.
Contoh:
paket MyPackage import java.util.LinkedList import java.util.ListIterator public class linkedlist {public static void main (String args []) {/ * Linked List Declaration * / LinkedListl_list = new LinkedList () / * add (String Item) adalah digunakan untuk menambahkan * Item ke daftar tertaut * / l_list.add ('Java') l_list.add ('Python') l_list.add ('Scala') l_list.add ('Swift') System.out.println ( 'Konten Daftar Tertaut:' + l_list) / * Tambahkan Item pada posisi tertentu * / l_list.add (2, 'JavaScript') l_list.add (3, 'Kotlin') System.out.println ('l_list Konten setelah pengeditan: '+ l_list) / * Tambahkan Item Pertama dan Terakhir * / l_list.addFirst (' Kursus Pertama ') l_list.addLast (' Kursus Terakhir ') System.out.println (' l_list Konten setelah penambahan: '+ l_list) / * Dapatkan dan mengatur Item dalam daftar * / Object firstvar = l_list.get (0) System.out.println ('First Item:' + firstvar) l_list.set (0, 'Java9') System.out.println ('l_list Content setelah memperbarui Item pertama: '+ l_list) / * Hapus dari posisi * / l_list.remove (1) l_list.remove (2) System.out.println ('LinkedList setelah penghapusan Item di posisi ke-2 dan ke-3' + l_list) / * Hapus Item pertama dan terakhir * / l_list.removeFirst () l_list.removeLast () System.out.println ('Konten Akhir setelah menghapus Item pertama dan terakhir : '+ l_list) / * Iterasi daftar tertaut * / ListIteratoritrator = l_list.listIterator () System.out.println (' Daftar ditampilkan menggunakan iterator: ') sementara (itrator.hasNext ()) {System.out.println (itrator .lanjut()) } } }
Keluaran:
Konten Daftar Tertaut = {Java, Python, Scala, Swift} Konten setelah pengeditan = {Java, Python, JavaScript, Kotlin, Scala, Swift} Konten setelah penambahan = {Kursus Pertama, Java, Python, JavaScript, Kotlin, Scala, Swift, Kursus Terakhir} Item Pertama = {Kursus Pertama} Konten setelah memperbarui item pertama = {Java9, Java, Python, JavaScript, Kotlin, Scala, Swift, Kursus Terakhir} Konten setelah penghapusan item di posisi ke-2 dan ke-3 = {Java9, Python, Kotlin, Scala, Swift, Last Course} Konten Akhir setelah menghapus pertama dan terakhir Item = {Python, Kotlin, Scala, Swift} Daftar ditampilkan menggunakan iterator = Python Kotlin Scala Swift
Sekarang, mari kita lanjutkan ke topik berikutnya.
Apa itu ArrayList?
adalah implementasi Antarmuka Daftar di mana elemen dapat secara dinamis ditambahkan atau dihapus dari daftar terkait. Di sini, ukuran daftar bertambah secara dinamis jika elemen ditambahkan lebih dari ukuran awal atau sebenarnya. Meskipun mungkin lebih lambat dari array standar, ini dapat membantu dalam program yang membutuhkan banyak manipulasi dalam array.
ArrayList digunakan untuk tujuan ini:
- ArrayList di Java digunakan untuk toko kumpulan elemen berukuran dinamis.
- Ini diinisialisasi dengan ukuran. Namun, ukurannya dapat bertambah jika koleksi bertambah dan menyusut jika objek dikeluarkan dari .
- Selain itu, ArrayList memungkinkan Anda mengakses daftar secara acak.
Mari kita lanjutkan dan tunjukkan kesamaan antara LinkedList dan ArrayList di Java.
Persamaan antara LinkedList dan ArrayList
Ini adalah kesamaan penting antara LinkedList dan ArrayList di Java.
- ArrayList dan LinkedList adalah implementasi dari file Antarmuka daftar .
- Baik ArrayList dan LinkedList mempertahankan urutan penyisipan elemen. Ini berarti bahwa, saat menampilkan elemen List, kumpulan hasil akan memiliki urutan yang sama di mana elemen tersebut dimasukkan ke dalam List.
- Kelas TheseArrayList dan LinkedList tidak disinkronkan dan dapat disinkronkan secara eksplisit dengan menggunakan CollectionsSynchronizedList metode.
- Iterator dan ListIterator yang dikembalikan oleh kelas-kelas ini cepat gagal. Artinya, jika daftar diubah secara struktural pada waktu tertentu setelah iterator dibuat, kecualimenghapus atau menambahkan metode iterator sendiri, iterator akan melempar ConcurrentModificationException .
Perbedaan antara LinkedList dan ArrayList
Pertama, mari kita lihat parameter untuk membandingkan LinkedList vs ArrayList di Java.
Parameter untuk membandingkan LinkedList dan ArrayList di Java:
- Operasi
- Penerapan
- Proses
- Penyimpanan
- Operasi
Operasi penyisipan, penambahan, dan penghapusan item lebih cepat di a LinkedList karena kami tidak perlu mengubah ukuran seperti yang kami lakukan di ArrayList.
2. Penerapan
ArrayList didasarkan pada konsep larik yang dapat diubah ukurannya secara dinamis, sementara LinkedList didasarkan pada penerapan daftar tertaut ganda
3. Proses
UNTUK LinkedList class dapat digunakan sebagai list dan antrian karena mengimplementasikan antarmuka List dan Deque sedangkan ArrayList hanya dapat mengimplementasikan List.
Empat. Penyimpanan
UNTUK LinkedList mengkonsumsi lebih banyak memori daripada ArrayList karena setiap node di LinkedList menyimpan dua referensi, sedangkan ArrayList hanya menyimpan data dan indeksnya
LinkedList vs ArrayList di Java
Parameter | LinkedList | ArrayList |
Operasi | Operasi penyisipan, penambahan, dan penghapusan cukup lebih cepat | Operasi yang relatiflambat di sini |
Penerapan | Mengikuti penerapan daftar tertaut ganda | Mengikuti konsep larik yang dapat diubah ukurannya secara dinamis |
Proses | Kelas LinkedList bisa berupa daftar dan antrian karena mengimplementasikan antarmuka List dan Deque bagaimana menggunakan tablo umum | Kelas ArrayList bisa menjadi daftar karena hanya mengimplementasikan Daftar |
Penyimpanan | Konsumsi memori di LinkedList tinggi | Lebih sedikit dibandingkan dengan LinkedList |
Itu saja semuanya! Ini membawa kita ke bagian akhir artikel ini tentang LinkedList vs ArrayList di Java. Saya harap kalian jelas dengan apa yang diajarkan di artikel ini.
Jika Anda menemukan artikel ini di 'LinkedList vs ArrayList in Java', lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kami di sini untuk membantu Anda dengan setiap langkah dalam perjalanan Anda, dan kami menghadirkan kurikulum yang dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java.