Daftar Tautan Java
Daftar Tautan Java
Pada bab sebelumnya, Anda telah mempelajari tentang ArrayList
kelas. Kelasnya LinkedList
hampir identik dengan
ArrayList
:
Contoh
// Import the LinkedList class
import java.util.LinkedList;
public class Main {
public static void main(String[] args) {
LinkedList<String> cars = new LinkedList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
ArrayList vs. LinkedList
Kelas LinkedList
adalah kumpulan yang dapat berisi banyak objek dengan tipe yang sama, seperti ArrayList
.
Kelas LinkedList
memiliki semua metode yang sama dengan ArrayList
kelas karena keduanya mengimplementasikan List
antarmuka. Ini berarti Anda dapat menambahkan item, mengubah item, menghapus item, dan menghapus daftar dengan cara yang sama.
Namun, sementara ArrayList
kelas dan LinkedList
kelas dapat digunakan dengan cara yang sama, mereka dibangun dengan sangat berbeda.
Cara kerja ArrayList
Kelas ArrayList
memiliki array reguler di dalamnya. Ketika sebuah elemen ditambahkan, itu 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
Toko LinkedList
-toko menyimpan barang-barangnya di "wadah". Daftar tersebut memiliki tautan ke penampung pertama dan setiap penampung memiliki tautan ke penampung berikutnya dalam daftar. Untuk menambahkan elemen ke daftar, elemen ditempatkan ke dalam wadah baru dan wadah itu ditautkan ke salah satu wadah lain dalam daftar.
Kapan Menggunakan
Gunakan an ArrayList
untuk menyimpan dan mengakses data, dan LinkedList
untuk memanipulasi data.
Metode LinkedList
Untuk banyak kasus, ArrayList
ini lebih efisien karena biasanya memerlukan akses ke item acak dalam daftar, tetapi LinkedList
menyediakan beberapa metode untuk melakukan operasi tertentu dengan lebih efisien:
Method | Description | Try it |
---|---|---|
addFirst() | Adds an item to the beginning of the list. | |
addLast() | Add an item to the end of the list | |
removeFirst() | Remove an item from the beginning of the list. | |
removeLast() | Remove an item from the end of the list | |
getFirst() | Get the item at the beginning of the list | |
getLast() | Get the item at the end of the list |