Mengenal Java Collection Framework: List, Set, dan Map dengan Contohnya

Java Collection Framework (JCF) adalah sekumpulan kelas dan antarmuka yang menyediakan struktur data yang fleksibel dan efisien untuk menyimpan dan mengelola data. Tiga komponen utama dalam JCF adalah:

  • List (Menyimpan elemen berurutan, bisa duplikat)
  • Set (Tidak mengizinkan elemen duplikat)
  • Map (Menyimpan pasangan key-value)

Artikel ini akan membahas masing-masing koleksi dengan contoh penggunaannya.


1. List: Menyimpan Data Berurutan

List adalah koleksi yang memungkinkan penyimpanan elemen dalam urutan tertentu dan mendukung elemen duplikat. Implementasi umumnya:

  • ArrayList (Ukuran dinamis, akses cepat)
  • LinkedList (Akses lambat, tapi manipulasi elemen cepat)
  • Vector (Mirip ArrayList, tapi thread-safe)

Contoh ArrayList

import java.util.ArrayList;

public class ListExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Python");
        list.add("Java"); // Duplikat diperbolehkan

        System.out.println(list); // Output: [Java, Python, Java]

        list.remove("Python"); 
        System.out.println(list); // Output: [Java, Java]
    }
}

Contoh LinkedList

import java.util.LinkedList;

public class LinkedListExample {
    public static void main(String[] args) {
        LinkedList<Integer> numbers = new LinkedList<>();
        numbers.add(10);
        numbers.add(20);
        numbers.addFirst(5); // Menambah di awal
        numbers.addLast(30); // Menambah di akhir

        System.out.println(numbers); // Output: [5, 10, 20, 30]
    }
}

2. Set: Tidak Mengizinkan Duplikat

Set adalah koleksi yang tidak mengizinkan elemen duplikat. Implementasi umumnya:

  • HashSet (Cepat, tidak berurutan)
  • LinkedHashSet (Mempertahankan urutan penyisipan)
  • TreeSet (Mengurutkan elemen secara alami)

Contoh HashSet

import java.util.HashSet;

public class SetExample {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("Apple");
        set.add("Banana");
        set.add("Apple"); // Tidak akan ditambahkan

        System.out.println(set); // Output: [Apple, Banana] (Urutan bisa berbeda)
    }
}

Contoh TreeSet

import java.util.TreeSet;

public class TreeSetExample {
    public static void main(String[] args) {
        TreeSet<Integer> set = new TreeSet<>();
        set.add(50);
        set.add(10);
        set.add(30);

        System.out.println(set); // Output: [10, 30, 50] (Terurut secara alami)
    }
}

3. Map: Menyimpan Data dalam Bentuk Key-Value

Map digunakan untuk menyimpan pasangan key-value dan tidak mengizinkan duplikasi key. Implementasi umumnya:

  • HashMap (Cepat, tidak mempertahankan urutan)
  • LinkedHashMap (Mempertahankan urutan penyisipan)
  • TreeMap (Mengurutkan key secara alami)

Contoh HashMap

import java.util.HashMap;

public class MapExample {
    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1, "One");
        map.put(2, "Two");
        map.put(1, "New One"); // Key yang sama akan menggantikan nilai sebelumnya

        System.out.println(map); // Output: {1=New One, 2=Two}
    }
}

Contoh TreeMap

import java.util.TreeMap;

public class TreeMapExample {
    public static void main(String[] args) {
        TreeMap<String, Integer> map = new TreeMap<>();
        map.put("C", 3);
        map.put("A", 1);
        map.put("B", 2);

        System.out.println(map); // Output: {A=1, B=2, C=3} (Urutan berdasarkan key)
    }
}

Tips dan Trik Menggunakan Java Collection Framework

✔ Gunakan ArrayList jika sering mengakses elemen secara acak.
✔ Gunakan LinkedList jika sering menambah atau menghapus elemen di tengah.
✔ Gunakan HashSet untuk data unik tanpa perlu urutan tertentu.
✔ Gunakan TreeSet untuk koleksi yang harus terurut.
✔ Gunakan HashMap jika hanya butuh pencarian cepat berdasarkan key.
✔ Gunakan TreeMap jika key harus terurut secara alami.


Kesimpulan

  • List menyimpan elemen berurutan dan mengizinkan duplikat.
  • Set tidak mengizinkan elemen duplikat.
  • Map menyimpan pasangan key-value dan key harus unik.

Java Collection Framework sangat berguna untuk mengelola data dengan lebih fleksibel dan efisien. Pilih koleksi yang sesuai dengan kebutuhan Anda!


Sumber dan Referensi

Posting Komentar untuk "Mengenal Java Collection Framework: List, Set, dan Map dengan Contohnya"