Map pada Kotlin
Map adalah koleksi pasangan, setiap pasang mempunyai key dan value.
- Tidak ada urutan pada koleksi.
- Key harus unik, key yang sama tidak bisa muncul dua kali di map.
- Key yang berbeda dapat mempunyai value yang sama.
- Semua key harus mempunyai tipe yang sama, demikian juga dengan value harus memiliki tipe yang sama.
Perbedaan dengan array adalah pada array kita hanya bisa mengakses value elemen dengan menggunakan index-nya yang mana adalah integer dan index-nya berurutan. Pada map key-nya bisa tipe apa saja dan biasanya tidak mempunyai urutan tertentu.
var playersAndGoals = mutableMapOf("Gary" to 0, "Nemanja" to 1, "Rio" to 1, "Cristiano" to 27, "Paul" to 5)println(playersAndGoals)// {Gary=0, Nemanja=1, Rio=1, Cristiano=27, Paul=5}
playersAndGoals adalah map dengan key tipe string dan value tipe integer.
Buat map kosong :
var playersAndGoals = mutableMapOf()
atau bisa juga :
var playersAndGoals = HashMap<String, Int>()
Akses Value dari Map
Untuk akses elemen dari map menggunakan key-nya, berbeda dari array yang menggunakan index-nya.
Misal untuk mendapatkan jumlah gol Cristiano :
println(playersAndGoals["Cristiano"])
// 27
Jika tidak menemukan elemen dengan key yang sesuai maka akan return null.
Method lain pada map :
playersAndGoals.isEmpty() // false
playersAndGoals.size // 5
Modifikasi Map
Menambah data
Contoh map awal
val nemanjaData = mutableMapOf(
"name" to "Nemanja"
"number" to "15"
"position" to "Centre Back"
)
Kemudian ditambahkan data
nemanjaData.put("country", "Serbia")// Cara Lain
nemanjaData["klub", "Manchester United"]
Mengubah data
nemanjaData.put("name", "Nemanja Vidic")// atau
nemanjaData["name", "Nemanja Vidic"]prinln(nemanjaData)
// {name=Nemanja Vidic, number=15, position=Centre Back, country=Serbia, klub=Manchester United}
Menghapus data
nemanjaData.remove("country")
nemanjaData.remove("klub", "Manchester United")
Method remove() yang pertama menghapus key country dan apapun value-nya. Sedangkan method remove() yang kedua akan menghapus key-nya jika value-nya sesuai dengan argument kedua.
Iterasi pada Map
for((player, goal) in playersAndGoals) {
println("$player - $goal")
}// Gary - 0
// Nemanja - 1
// Rio - 1
// Cristiano - 27
// Paul - 5
Iterasi pada key-nya saja
for (player in playersAndGoals) {
println("$player")
}// Gary
// Nemanja
// Rio
// Cristiano
// Paul
Kesimpulan
Pada tulisan kali ini kita belajar mengenai Map pada Kotlin.
- Map adalah koleksi key — value.
- Koleksi pada map tidak mempunyai urutan.
- Key pada map mempunyai tipe yang sama, demikian juga dengan value juga mempunyai tipe yang sama.
- Untuk memodifikasi map gunakan key-nya
- Jika key tidak ada pada map, akan return null.