Skip to main content

Java List

List adalah struktur data collection yang memiliki sifat sebagai berikut:

  • Elemen di List bisa duplikat, artinya bisa memasukkan data yang sama pada elemennya.
  • Data List berurut sesuai dengan posisi kita memasukkan data.
  • List memiliki index, sehingga kita bisa menggunakan nomor index untuk mendapatkan element di list.

Di Java ada beberapa implementasi List, dan kita bisa memilih sesuai dengan kebutuhan kita.

ArrayList

  • ArrayList adalah implementasi dari List seperti pada array.
  • Element pada ArrayList diindex seperti array.
  • Default kapasitas array di ArrayList adalah 10, namun ketika kita memasukkan data dan array sudah penuh, maka secara otomatis ArrayList akan membuat array baru dengan kapasitas baru dengan ukuran: kapasitas lama + data baru.

LinkedList

LinkedList adalah implementasi List dengan struktur data Double Linked List, data yang dimasukan akan berurut sesuai waktu memasukan data. LinkedList menampung datanya berdasarkan node per node.

ArrayList vs LinkedList

OperationArrayListLinkedList
addCepat kalau indexnya belum penuhcepat
setcepat karena berdasar indexlambat
getcepatlambat
removelambat harus menggeser indexcepat

Contoh ArrayList

import java.util.ArrayList;
import java.util.List;

public class DemoList {

public static void main(String[] args) {
List<String> names = new ArrayList<>(); // bisa dimasukan default kapasitas contoh ArrayList<>(100)
names.add("Tirta");
names.add("Agus");
names.add("Fahmi");

System.out.println("Data List:");
printOut(names);

// ubah elemen
names.set(1, "Wayan");

System.out.println(names.get(1));
System.out.println("Setelah mengubah data:");

printOut(names);

// hapus elemen
names.remove(1);

System.out.println("Setelah menghapus data:");
printOut(names);
}

static void printOut(List<String> names) {
for(var name: names) {
System.out.println(name);
}
}
}

Output:

Data List:
Tirta
Agus
Fahmi
Wayan
Setelah mengubah data:
Tirta
Wayan
Fahmi
Setelah menghapus data:
Tirta
Fahmi