Java LinkedList
Sama seperti class ArrayList, class LinkedList merupakan class yang identik dengan ArrayList. LinkedList adalah bagian dari API Collection pada Java. Contoh :
// Mengimport class LinkedList
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> mobil = new LinkedList<String>();
mobil.add("Volvo");
mobil.add("BMW");
mobil.add("Ford");
mobil.add("Mazda");
System.out.println(mobil);
}
}
Output :
[Volvo, BMW, Ford, Mazda]
ArrayList vs. LinkedList
Class LinkedList merupakan sebuah collection yang mengandung banyak object dari tipe yang sama, sama seperti ArrayList. Class LinkedList memiliki semua method yang sama seperti class ArrayList karena keduanya mengimplementasi interface List. Hal ini berarti Anda dapat menambahkan item, mengubah item, menghapus item dan menghapus semua list dengan cara yang sama. Namun, walaupun class ArrayList dan class LinkedList dapat digunakan dengan cara yang sama, mereka dibangun dengan cara yang berbeda.
Bagaimana ArrayList bekerja
Class ArrayList memiliki array yang biasa di dalamnya. Ketika elemen ditambahkan, maka akan ditempatkan ke dalam array. Jika array tidak cukup besar, array baru yang lebih besar dibuat untuk menggantikan yang lama dan yang lama dihapus.
Bagaimana LinkedList bekerja
LinkedList menampung item-nya di dalam suatu container. List memiliki sebuah link ke container awal dan setiap container memiliki sebuah link ke container berikutnya di dalam list. Untuk menambahkan elemen ke dalam list, elemen ditempatkan ke dalam sebuah container baru dan container itu terhubung ke container lainnya di dalam list.
Kapan digunakan?
ArrayList baik digunakan ketika :
- Anda sering mengakses item secara acak
- Anda hanya butuh untuk menambahkan dan menghapus elemen pada akhir list
LinkedList baik digunakan ketika :
- Anda hanya menggunakan list dengan looping alih-alih mengakses item secara acak
- Anda sering memerlukan untuk menambahkan dan menghapus item dari awal, pertengahan atau akhir dari list
LinkedList Method
Untuk banyak kasus, ArrayList lebih efisien karena biasanya memerlukan akses ke dalam item list secara acak, tetapi LinkedList menyediakan beberapa method untuk melakukan operasi tertentu dengan efisien :
Method | Deskripsi |
addFirst() | Menambahkan sebuah item pada awal list |
addLast() | Menambahkan sebuah item pada akhir list |
removeFirst() | Menghapus sebuah item dari awal list |
removeLast() | Menghapus sebuah item dari akhir list |
getFirst() | Untuk mendapatkan item pada awal list |
getLast() | Untuk mendapatkan item pada akhis list |
Contoh method addFirst() :
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> mobil = new LinkedList<String>();
mobil.add("Avanza");
mobil.add("Xenia");
mobil.add("Brio");
// menggunakan addFirst() untuk menambahkan item pada bagian awal
mobil.addFirst("Mobilio");
System.out.println(mobil);
}
}
Output :
[Mobilio, Avanza, Xenia, Brio]
Contoh method addLast() :
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> mobil = new LinkedList<String>();
mobil.add("Avanza");
mobil.add("Xenia");
mobil.add("Brio");
// menggunakan addLast() untuk menambahkan item pada bagian akhir
mobil.addLast("Mobilio");
System.out.println(mobil);
}
}
Output :
[Avanza, Xenia, Brio, Mobilio]
Contoh method removeFirst() :
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> mobil = new LinkedList<String>();
mobil.add("Avanza");
mobil.add("Xenia");
mobil.add("Brio");
mobil.add("Mobilio");
// menggunakan removeFirst() untuk menghapus item elemen pertama
mobil.removeFirst();
System.out.println(mobil);
}
}
Output :
[Xenia, Brio, Mobilio]
Contoh method removeLast() :
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> mobil = new LinkedList<String>();
mobil.add("Avanza");
mobil.add("Xenia");
mobil.add("Brio");
mobil.add("Mobilio");
// menggunakan removeLast() untuk menghapus item elemen terakhir
mobil.removeLast();
System.out.println(mobil);
}
}
Output :
[Avanza, Xenia, Brio]
Contoh method getFirst() :
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> mobil = new LinkedList<String>();
mobil.add("Avanza");
mobil.add("Xenia");
mobil.add("Brio");
mobil.add("Mobilio");
// menggunakan getFirst() untuk menampilkan item pertama pada list
System.out.println(mobil.getFirst());
}
}
Output :
Avanza
Contoh method getLast() :
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> mobil = new LinkedList<String>();
mobil.add("Avanza");
mobil.add("Xenia");
mobil.add("Brio");
mobil.add("Mobilio");
// menggunakan getLast() untuk menampilkan item terakhir pada list
System.out.println(mobil.getLast());
}
}
Output :
Mobilio
Tutorial sebelumnya : Java Arraylist
Tutorial setelahnya : Java Hashmap
Semua Tutorial JAVA : Tutorial JAVA