Last Updated on April 1, 2022 by
Java adalah salah satu bahasa pemrograman yang cukup populer saat in di kalangan developer. Java dikenal karena mottonya, dengan Write Once, Run Everywhere yang berarti dalam sekali menulis kode, Anda dapat menjalankannya di berbagai platform.
Dalam pemrograman Java dikenal istilah kelas (class). Ada banyak jenis Java Class. Namun, Java Class yang harus Anda ketahui sebelum menjalankan Java adalah Arraylist dan Linkedlist. Arraylist dan Linkedlist keduanya adalah daftar implementasi interface dan berisikan perintah insertion.
Sebelum membahas lebih lanjut tentang ArrayList dan LinkedList, kami akan mulai dari penjelasan tentang ArrayList dan LinkedList mulai dari menjelaskan tentang Array.
Table of Contents
Arrays dan ArrayList
Programmer pemula biasanya kebingungan membedakan antara Arrays dan ArrayList. Array adalah salah satu Java Class yang terdiri dari kumpulan item yang disimpan di lokasi memori yang berdekatan. Ada banyak cara untuk mengatasi masalah ini salah satunya menggunakan fungsi dari kelas ArrayList dan LinkedList.
Setiap item dalam array disebut elemen, dan setiap elemen diakses oleh indeks numeriknya. Penomoran Array dimulai dari 0 hingga 9. Berikut ini adalah program ArrayDemo yang membuat Array bilangan bulat, meletakkan beberapa nilai dalam Array, dan mencetak setiap nilai ke keluaran standar.
class ArrayDemo {
public static void main(String[] args) {
// declares an array of integers
int[] anArray;
// allocates memory for 10 integers
anArray = new int[10];
// initialize first element
anArray[0] = 100;
// initialize second element
anArray[1] = 200;
// and so forth
anArray[2] = 300;
anArray[3] = 400;
anArray[4] = 500;
anArray[5] = 600;
anArray[6] = 700;
anArray[7] = 800;
anArray[8] = 900;
anArray[9] = 1000;
System.out.println("Element at index 0: "
+ anArray[0]);
System.out.println("Element at index 1: "
+ anArray[1]);
System.out.println("Element at index 2: "
+ anArray[2]);
System.out.println("Element at index 3: "
+ anArray[3]);
System.out.println("Element at index 4: "
+ anArray[4]);
System.out.println("Element at index 5: "
+ anArray[5]);
System.out.println("Element at index 6: "
+ anArray[6]);
System.out.println("Element at index 7: "
+ anArray[7]);
System.out.println("Element at index 8: "
+ anArray[8]);
System.out.println("Element at index 9: "
+ anArray[9]);
}
}
Maka program ini akan menghasilkan output sebagai berikut:
Element at index 0: 100
Element at index 1: 200
Element at index 2: 300
Element at index 3: 400
Element at index 4: 500
Element at index 5: 600
Element at index 6: 700
Element at index 7: 800
Element at index 8: 900
Element at index 9: 1000
Pada situasi programing di dunia nyata, Anda mungkin menggunakan salah satu looping constructs untuk melakukan iterasi melalui setiap elemen array, dibanding menulis setiap baris secara individual seperti pada contoh sebelumnya.
ArrayList adalah array dinamis untuk tipe object. ArrayList adalah Java Class yang menjadi bagian dari kerangka koleksi. ArrayList berada dalam paket java.util dan memberi kita array dinamis di Java. Meskipun, ini mungkin lebih lambat dari array standar tetapi dapat membantu dalam program yang membutuhkan banyak manipulasi dalam array.
Kami dapat menambahkan dan menghapus item secara dinamis. Secara otomatis mengubah ukurannya. Berikut ini adalah contoh untuk mendemonstrasikan implementasi ArrayList. LinkedList adalah library class atau perpustakaan kelas yang termasuk ke dalam collection pada bahasa pemrograman Java.
Java Class ini mengimplementasikan LinkedList Data Structure, yang merupakan struktur data linier dimana elemen tidak disimpan di lokasi yang berdekatan. Pada setiap elemen ini merupakan objek terpisah dengan bagian data dan bagian address. Elemen-elemen tersebut dihubungkan menggunakan pointer dan alamat.
Setiap elemen dikenal sebagai node. Karena dinamika dan kemudahan penyisipan dan penghapusan, mereka lebih disukai daripada array. Berikut ini adalah contoh untuk mendemonstrasikan implementasi LinkedList. Baik ArrayList maupun LinkedList memiliki fungsi yang hampir sama yakni untuk membuat data struktur.
Namun secara spesifik fungsi keduanya berbeda, di mana ArrayList sebaiknya digunakan ketika Anda membutuhkan operasi pencarian yang lebih, sementara LinkedList digunakan ketika Anda membutihkan lebih banyak operasi insert dan delete. Kami akan jelaskan lebih lanjut perbedaan keduanya.
Perbedaan ArrayList dan LinkedList
Setelah memahami Array, ArrayList dan LinkedList kami akan menjelaskan perbedaan antara ArrayList dan LinkedList. Berikut penjelasan perbedaannya:
- ArrayList secara internal menggunakan array dinamis untuk meyimpan elemen. Sementara LinkedList secara internal digunakan untuk menyimpan elemen dari daftar tertaut ganda.
- Manipulasi dengan ArrayList cenderung lambat karena secara internal menggunakan sebuah array. Jika elemen lainnya dipindahkan atau dihilangkan dari Array, maka seluruh bit akan bergeser ke memori. Sementara pada LinkedList lebih cepat dibanding ArrayList karena menggunakan linked list ganda, sehingga tidak diperlukan sedikit pergeseran dalam memori.
- Sebuah kelas ArrayList dapat menjadi seperti sebuah list karena hal tersebut hanya mengimplementasi List saja. Sementara kelas LinkedList dapat menjadi sebuah daftar dan antrian karena mengimplementasikan antarmuka List dan Deque.
- ArrayList lebih baik untuk menyimpan dan mengakses data sementara LinkedList lebih baik untuk manipulasi data.
Perbedaan ArrayList dan LinkedList secara kode
Berikut ini adalah perbedaan ketika menggunakan ArrayList dan LinkedList
Contoh code ketika menggunakan ArrayList:
// Java program to demonstrate the
// working of an ArrayListimport java.io.*;
import java.util.*;
class GFG {
public static void main(String[] args)
{// Declaring an ArrayList
ArrayList<Integer> arrli
= new ArrayList<Integer>();// Appending the new elements
// at the end of the list
for (int i = 1; i <= 5; i++)
arrli.add(i);// Printing the ArrayList
System.out.println(arrli);// Removing an element from the
// List
arrli.remove(3);// Printing the ArrayList after
// removing the element
System.out.println(arrli);
}
}
Kode ini akan menghasilkan output sebagai berikut:
[1, 2, 3, 4, 5]
[1, 2, 3, 5]
Sementara kode pada LinkedList:
// Java program to demonstrate the
// working of a LinkedList
import java.util.*;
public class Test {
public static void main(String args[])
{
// Creating an object of the
// class linked list
LinkedList<String> object
= new LinkedList<String>();
// Adding the elements to the
// linked list
object.add("A");
object.add("B");
object.addLast("C");
System.out.println(object);
// Removing elements from the
// list
object.remove("B");
object.removeFirst();
System.out.println("Linked list after "
+ "deletion: " + object);
}
}
Output dari kode ini adalah:
[A, B, C]
Linked list after deletion: [C]
Kapan Sebaiknya Kita Menggunakan ArrayList dan LinkedList
- Berdasarkan penjelasan di atas, operasi penyisipan dan penghapusan memberikan kinerja yang baik (O (1)) di LinkedList dibandingkan dengan ArrayList (O (n)). Karenanya jika ada persyaratan untuk sering menambahkan dan menghapus aplikasi, maka LinkedList adalah pilihan terbaik.
- Operasi pencarian (metode get) cepat di Arraylist (O (1)) tetapi tidak di LinkedList (O (n)) jadi Jika ada lebih sedikit operasi tambah dan hapus dan lebih banyak persyaratan operasi pencarian, ArrayList akan menjadi pilihan terbaik Anda.
Demikianlah penjelasan terkait ArrayList dan LinkedList. Keduanya memang memiliki fungsi yang sama, namun secara spesifik keduanya memiliki perbedaan. Sebagai developer, khususnya developer pemula, Anda perlu memahami keduanya agar tidak mengalami kebingungan saat menjalankan program terutama yang berbasis Java.
Anda ingin tahu lebih banyak informasi seputar pemrograman, jangan lupa kunjungi Web App di https://appkey.id/ dan dapatkan informasi terupdate seputar Pemrograman.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.