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
(MiripArrayList
, 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
- https://docs.oracle.com/javase/8/docs/technotes/guides/collections/overview.html diakses 17 Maret 2025
- https://docs.oracle.com/javase/8/docs/api/java/util/List.html diakses 17 Maret 2025
Posting Komentar untuk "Mengenal Java Collection Framework: List, Set, dan Map dengan Contohnya"
Berilah komentar, saran, dan kritik dengan bijak