Dart - 8. Collection [ Set ]



SET

Set beroperasi mirip dengan List (item ditambah dan dihapus tanpa identifier, tidak seperti Map), tetapi implemenetasinya sedikit berbeda, Set dalam pemrograman Dart tidak memiliki urutan, oleh karena itu, elemen yang terdapat pada Set tidak memiliki indeks, dan satu hal yang unik dari Set adalah item yang terdapat pada Set tidak boleh ada yang sama atau bersifate unik, misalnya: Set tidak bisa memiliki data integer 250 sebanyak 2 kali atau lebih.

Item yang ditambahkan ke Set menggunakan metode add() dan addAll(), dimana add() untuk menambahkan satu item dan addAll() untuk item lebih dari satu. argumen pada metode addAll() adalah sebuah List. Set dapat dibuat tanpa data apapun, atau dapat dibuat dari sebuah List, hal ini dapat dilakukan dengan menggunakan from() factory method. Berikut ini adalah contoh untuk menciptakan variabel bertipe Set.

Set setKosong = new Set(); // set kosong Set elmenDariList = new Set.from(["bumi", "udara","air","api"]); // menciptakan set dari list elemenDariList.add("api"); // OK, tetapi tidak akan melakukan penambahan karena api sudah ada. elemenDariList.addAll(["petir","cahaya"]); // menambahkan petir dan cahaya. elemet.remove("air"); // menghapus air.

Set dapat juga menentukan tipe elemen yang bisa diisi kedalamnya pada saat set diciptakan, karena elemen pada set tidka memiliki index, kita perlu melakukan iterasi Set menggunakan for-in-loop. Metode pada set yaitu intersection() akan mengembalikan elemen yang sama dari dua buah set. perhatikan contoh berikut:

Set aColor = new Set.from(["hijau","biru","merah"]);
Set bColor = new Set.from(["kuning","hijau","biru"]);

Set abColor = bColor.intersection(aColor); // menghasilkan hijau, biru

for(String cl in abColor) {
  print(color);
}

hal yang perlu di perhatikan adalah bahwa ketika kita membuat Set dari List maka, Set akan menghilangkan duplikasi data jika terdapat pada List tersebut.
Dart - 8. Collection [ Set ] Dart - 8. Collection [ Set ] Reviewed by jc on June 21, 2019 Rating: 5

No comments:

Powered by Blogger.