Minggu, 15 Maret 2015

Perbedaan List, Set dan Map Pada Java

Pada pemrograman apapun, kita sebagai seorang penulis code program pasti tidak asing dengan istilah array. Array pada dasarnya adalah suatu tumpukkan data atau nilai yang memiliki index. Pada tutorial kali ini saya akan mencoba membahas tentang perbedaan jenis array seperti List, Set dan Map pada Java. Ketiga jenis array ini memiliki karakteristik masing-masing yang berbeda. Saya tidak akan membahas array primitif seperti String [] sNamaVar, int [] iNamaVar dan lain-lain yang mendeklarasikannya selalu menggunakan "[]". Saya menyebutnya contoh-contoh tersebut adalah array primitif. Langsung saja kita mulai tutorial kali ini tanpa berbasa-basi lagi.

List
List adalah jenis array yang membolehkan adanya value duplicate atau nilai yang sama dalam index yang berbeda. List memiliki beberapa fungsi-fungsi yang cukup membantu dalam proses pengolahan nilai-nilai seperti fungsi clear() untuk menghapus semua element atau value pada list, melakukan insert value pada index element tertentu dengan fungsi add(int index, Object element), menghapus value pada index element tertentu dengan fungsi remove(int index) dan masih banyak lagi fungsi lainnya yang mungkin bisa menjawab sesuai kebutuhan kita.

Set
Set adalah jenis array yang tidak membolehkan adanya value duplicate, saat ada insert value yang sudah ada sebelumnya, maka value itu akan terotomatisasi dibuang salah satunya dan akhirnya value tersebut hanya tetap ada satu saja. Set juga memiliki beberapa fungsi yang cukup membantu, seperti clear(), add (Object e), remove(Object e) dan masih banyak lagi fungsi-fungsi lainnya jika teman-teman ingin lebih mengeksplorasi sendiri.

Map
Map adalah jenis array yang indexnya tidak hanya nilai integer 0,1,2 dan seterusnya, melainkan kita dapat melakukan custom pada nilai indexnya, asalkan nilai indexnya adalah selalu unik. Pada jenis array ini masih memiliki kemungkinan terdapat value yang sama (duplicate), karena pada Map ini lebih menekankan index yang harus unik. Jika di dalam pemrograman PHP, kita sering juga menyebut tipe array berjenis ini adalah array asosiatif, selalu memiliki index atau key kemudian value. Map juga memiliki fungsi-fungsi yang cukup membantu seperti clear(), put(Object key, Object value), containsKey(Object key) yaitu mengecek apakah ada elemen pada Map berdasarkan Key atau indexnya, containsValue(Object value) yaitu mengecek apakah ada elemen pada Map berdasarkan Value.

Berikut adalah contoh program yang telah saya buat yang mungkin dapat membantu penjelasan saya di atas.

1:  package collectiondifference;  
2:  import java.util.ArrayList;  
3:  import java.util.HashMap;  
4:  import java.util.HashSet;  
5:  import java.util.List;  
6:  import java.util.Map;  
7:  import java.util.Set;  
8:  public class CollectionDifference {  
9:    public static void main(String[] args) {  
10:      System.out.println("***List***");  
11:      List arrList = new ArrayList();  
12:      arrList.add("1");  
13:      arrList.add("1");  
14:      arrList.add("2");    ;      
15:      for(int i = 0; i < arrList.size(); ++i){  
16:        System.out.println(arrList.get(i));  
17:      }      
18:      System.out.println("***Set***");  
19:      Set arrSet = new HashSet();          
20:      arrSet.add("1");  
21:      arrSet.add("1");  
22:      arrSet.add("2");          
23:      Object [] arrFromSet = arrSet.toArray();  
24:      for(int i = 0; i < arrFromSet.length; ++i){  
25:        System.out.println(arrFromSet[i]);  
26:      }  
27:      System.out.println("***Map***");  
28:      Map arrMap = new HashMap();      
29:      arrMap.put(0, "1");  
30:      arrMap.put(1, "1");  
31:      arrMap.put(2, "2");      
32:      for(int i = 0; i < arrMap.size(); ++i){  
33:        System.out.println(arrMap.get(i));  
34:      }  
35:    }  
36:  }  

Output dari program tersebut jika berhasil dijalankan, akan kurang lebih seperti di bawah ini.

 ***List***  
 1  
 1  
 2  
 ***Set***  
 2  
 1  
 ***Map***  
 1  
 1  
 2  

Demikian tutorial dari saya, semoga bermanfaat bagi para pecinta kopi jawa. Sampai jumpa pada tutorial selanjutnya.

8 komentar:

  1. Balasan
    1. Terimakasih sudah berkunjung. Salam kenal :)

      Hapus
  2. Owalah. Jadi ketiga tipe data tersebut merupakan tipe data modern. :v

    BalasHapus
    Balasan
    1. Hmm...biasanya sering dikenal Java Collection Library :)

      Hapus
  3. Mau tanya perbedaan sama kondisi yg seperti apa untuk menggunakan nya

    1.List list = new ArrayList ()
    2.arrayList list = new ArrayList ()




    BalasHapus
  4. keberadaan anggota penting, tapi urutan tidak penting, dalam java collection itu ciri ciri apa ya kak? list, set atau map

    BalasHapus