Hashmap
merupakan implementasi dari interface Map itu adalah Generalisasi dari array, jadi map itu seperti array yang indexnya adalah object sebarang dengan pasangan index yang digunakan disebut sebagai key (K) dan objek yang ditunjuk oleh index disebut sebagai value (V) Key dan value tersebut merupakan isi berdasar pada type data yang kita masukan. Type data untuk key biasanya dalam bentuk type integer dan string, untuk value bisa dalam bentuk semua type apapun dan bisa juga dalam bentuk objek class.
Map dapat dideklarasikan dengan dua cara:
Menggunakan Map Literals
Mendeklarasikan map menggunakan Map literals
, kamu harus menyertakan pasangan key dan value dalam kurung kurawal, jadi ada pembeda antara list menggunakan kurung siku dan map menggunakan kurung kurawal untuk map yang literals.
Format penulisan :
Map hewan = {0 : "sapi", 1 : "kerbau", 2 : "kambing"};
// Atau
var hewan = {0 : "sapi", 1 : "kerbau", 2 : "kambing"};
- Menampilkan semua data mapnya dengan memasukan variable mapnya langsung tapi masih didalam mapnya
print(hewan);
- Menampilkan peritem dengan memasukan key dengan cara dihapit dengan kurung siku.
print(hewan[0]);
- Menampilkan dengan peritem dengan bersasarkan element
print(hewan.values.elementAt(0));
- Menampilkan semua data
for(int i = 0; i < hewan.length; i++){
print(hewan[i]);
}
- Menampilkan semua key
for(var i in hewan.keys){
print(i);
}
- Menampilkan semua value
for(var i in hewan.values){
print(i);
}
- Manambahkan data Map
hewan[3] = "ayam";
Map 2 Dimensi
Map 2 dimenis atau dimensi berapapun itu, 2 dimensi hanya menambahkan kurung kurawal di dalam kurung kurawal lagi
var hewan = {
{0 : "sapi", 1 : "kerbau", 2 : "kambing"},
{3 : "unta", 4 : "ayam", 5: "itik"},
};
- Menampilkan Peritem Menampilkan isi map pada baris pertama engan elemen 0 dan value pada elemen kolom ke 1 adalah kerbau.
print(hewan.elementAt(0).values.elementAt(1));
print(hewan.elementAt(0).keys.elementAt(1));
- Menampilkan sumua data dengan perulangan, karna map menggunakan dimensi 2x3 yaitu baris 2 dan kolom 3
for(int i = 0; i< hewan.length;i++){
for(int j = 0; j< 3;j++){
print(hewan.elementAt(i).values.elementAt(j));
}
}
Kenapa tidak keduanya menggunakan length karna dimensi berbeda antara baris sama kolom jadi dua-duanya harus sama dimensinya, jadi jika saya menerapkan length di kedua perulangan bakalan terjadi error.
Menggunakan class dan object dari Map dan kata kunci var kita bisa memasukan data apapun di bagian key dan value
var hewan = {0 : "sapi", "satu" : "kerbau", 2 : "kambing"};
-
Menampilkan semua data mapnya dengan memasukan variable mapnya langsung tapi masih didalam mapnya
print(hewan);
-
Menampilkan peritem dengan memasukan key dengan cara dihapit dengan kurung siku.
print(hewan[0]);
-
Menampilkan dengan peritem dengan bersasarkan element
print(hewan.values.elementAt(0));
-
Untuk menambahkan atau mengubah dengan mengambil variable kemudian menentukan key yg ditambah tau diganti kemudian masukan value
hewan[3] = "ayam";
Menggunakan Map Constructor
Melakukan initialize pada map dengan cara membuat object dari map.
var hewan = new Map();
hewan[0] = "ayam";
hewan[1] = "kerbau";
Kasus kedua membuat isian pada map dengan type data tertentu pada key dan value, ini berlaku pada class map saja, menggunakan var tidak bisa.
Sebagai contoh map dengan key, type data integer dan value, type data string
Map<int, String> hewan = { 0 : "sapi", 1 : "kerbau", 2 : "kambing" };
// atau dengan initialize object map
Map<int, String> hewan = new Map();
hewan[0] = "sapi";
hewan[1] = "kerbau";
Jadi dengan menggunakan cara ini kita tidak bisa sembarang memasukan data key atau value bergantung pada type data yang ditentukan, ini berlaku pada type data apapun.
Beberapa Propertis dan Method yang terdapat pada map, yang petama kita mulai di bagain propertisnya
Properties
-
keys -> menampilkan hanya key pada Map
-
values -> menampilkan nilai values dari Map
-
length -> menampilkan ukuran dari Map
-
isEmpty -> Mengembalikan nilai true jika Map adalah Peta kosong
-
isNotEmpty -> Kebalikan dari isEmpty mengembalikan nilai true jika map nilainya ada
-
containsKey → mengecek key apa ada didalam map dengan nilai true dan false
print(hewan.containsKey(5));
Method
- addAll -> Menambahkan semua pasangan nilai kunci lainnya ke map
var hewan = { 0 : "sapi", 1 : "kerbau", 2 : "kambing" };
var hewan_dua ={ 3 : "Ayam"};
hewan.addAll(hewan_dua);
-
clear -> menghapus semua isi value map
-
remove -> menghapus bersasarkan key
hewan.remove(0);
- update → ubah data berdasarkan key yang dimasukan
hewan.update(0,(value)=>"ayam");
- forEach -> menampilkan pasangan nilai key dan value pada map menggunakan lamda
var hewan = { 0 : "sapi", 1 : "kerbau", 2 : "kambing" };
hewan.forEach((k,v) => print("Key: $k and value: $v"));
Bagian propertis dan method yang saya tau sampai di situ untuk yang lainya bisa di pelajari di situs resmi dari pemrograman dart.
Lebih lengkapnya untuk penjelasan mengenai Map dan HashMap Anda bisa melihat vidio berikut
Demikian yang dapat saya sampaikan dari artikel ini semoga bermanfaat, jika ada yang ditanyakan silahkan di kolom komentar dibawah, selamat mencoba.