Selasa, 17 September 2019

Belajar Java Collections

Collection adalah sebuah framework yang dibuat untuk menyimpan dan memanipulasi sebuah objek. Collection biasanya digunakan pada sebuah data seperti mencari, meng-urutkan, meng-input dan menghapus. Kerangka kerja (Framework) menyediakan dalam bentuk Interface (contoh : Set, List, Queue, Deque dll). untuk class (ArrayList, Vector, LingkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet dll). Gambar berikut adalah hirarki pada java collection :
 
The Java Collections API
Java Collections ini terdiri dari interface Collection, list, set dan order. Di bawah ini merupakan interface collection dan hirarki class.
Gambar : Interface Collection dan Hirarki Class
  1. Collection
Collection merupakan sekumpulan objek yang tidak memiliki posisi yang tetap (no particular order) dan menerima duplikat.
  1. List
List merupakan pengelompokkan berdasarkan urutan, ia memiliki posisi awal dan juga posisi akhir. List juga tidak harus memiliki isi yang unit dan ia juga dapat menampung berbagai macam tipe data seperti Sting, Long, Integer bahkan Object.
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
public class CobaList {
    public static void main(String[] x) {
        List lis = new ArrayList();
        // Masukkan value ke dalam lis
        lis.add("NaufalFikriAulia");
        lis.add("RizalFadly");
        lis.add("BudiArman");
        lis.add("MartaKarlina");
        lis.add("FitriHerawati");
        // Tampilkan value lis
        for (Iterator iterator = lis.iterator(); iterator.hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }
    }
}
Berikut ini hasil dari ekekusinya.
NaufalFikriAulia
RizalFadly
BudiArman
MartaKarlina
FitriHerawati
  1. Set
Set merupakan sekumpulan objek yang tidak didasarkan dengan urutan (unordered) dan menolak duplikat. Pada set, setiap anggotanya harus unik. Sedangkan untuk urutan dan tataletak dari anggotanya tidak begitu penting. Set juga dapat menampung berbagai tipe data bahkan objek.
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class CobaSet {
    public static void main(String[] namakami) {
        Set setdah = new HashSet();
        // Masukkan value ke dalam setdah
        setdah.add("NaufalFikriAulia");
        setdah.add("RizalFadly");
        setdah.add("BudiArman");
        setdah.add("MartaKarlina");
        setdah.add("FitriHerawati");
        setdah.add("AnnisaCandela");
        // Tampilkan value setdah
        for (Iterator iterator = setdah.iterator(); iterator.hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }
    }
}

Berikut ini hasil dari eksekusinya.
RizalFadly
FitriHerawati
AnnisaCandela
NaufalFikriAulia
BudiArman
MartaKarlina
  1. Map
Sedangkan Map merupakan mendukung pencarian berdasarkan key dengan syarat harus unik. Map juga dapat menampung beragam tipe data, sama dengan List dan Set. Namun bedanya, Map dapat menyimpan data secara berpasangan yang terdiri dari key dan value. Untuk nilai dari key, harus unik dan tidak beloeh ada yang sama. Namun jika kamu tetap menyimpan nilai dengan key yang sama, maka nilai key yang terakhir disimpanlah yang akan tersimpan didalam Map.
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class CobaMap {
    public static void main(String[] buah manis) {
        Map<Integer, String> mapInt_String = new HashMap<Integer, String>(); // map<Integer, String>
        // Masukkan key dan value ke dalam mapInt_String
        mapInt_String.put(1, "APEL");
        mapInt_String.put(2, "NANAS");
        mapInt_String.put(3, "JERUK");
        mapInt_String.put(4, "RAMBUTAN");
        mapInt_String.put(5, "DURIAN");
        // Tampilkan value mapInt_String
        for (Iterator iterator = mapInt_String.values().iterator(); iterator
                .hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }

        Map<String, String> mapString_String = new HashMap<String, String>();//map<String, String>

        // Masukkan key dan value ke dalam mapString_String
        mapString_String.put("BUDI", "SEPEDA");
        mapString_String.put("ANDRI", "MOBIL");
        mapString_String.put("DENI", "TRUK");
        mapString_String.put("JAJANG", "MOTOR");
        mapString_String.put("ATUT", "BUS");
        mapString_String.put("RUDI", "KAPAL JET");// KEY yang digunakan = RUDI
        mapString_String.put("RUDI", "UFO");// Key yang digunakan = RUDI juga, maka value "KAPAL JET" akan ditimpa oleh "UFO"

        // Tampilkan value mapString_String
        System.out.println("========================================");
        for (Iterator iterator = mapString_String.values().iterator(); iterator
                .hasNext();) {
            String string = (String) iterator.next();
            System.out.println(string);
        }

        // Tampilkan pasangan key-value mapString_String
        System.out.println("========================================");
        for (Iterator iterator = mapString_String.keySet().iterator(); iterator
                .hasNext();) {
            String string = iterator.next();
            System.out.println(string + " mengendarai "
                    + mapString_String.get(string));
        }
    }
}
Berikut ini hasil dari eksekusinya.
GAJAH
KUDA
ZEBRA
KAMBING
SAPI
========================================
MOBIL
SEPEDA
BUS
TRUK
MOTOR
UFO
========================================
ANDRI mengendarai MOBIL
BUDI mengendarai SEPEDA
ATUT mengendarai BUS
DENI mengendarai TRUK
JAJANG mengendarai MOTOR
RUDI mengendarai UFO
Coba dikihat pada hasil eksekusi dari MAP, terlihat bahwa nilai dari “KAPAL JET” tidak pernah ditampilkan pada output. Ini dikarenakan nilai “KAPAL JET” ditimpa oleh nilai dari “UFO”.
Berdasarkan uraian diatas, dengan pengelompokkan dalam grup, terdapat beberapa manfaat diantaranya :
  1. Menyimpan elemen dengan urutan tertentu
  2. Mengambil kembali elemen tersebut dengan index maupun dengan berbagai cara yang spesifik
  3. Memanipulasi data
  4. Dan berbagai transformasi manfaat lainnya.

Tidak ada komentar:

Posting Komentar