Map pada Kotlin

Eric Wijaya
2 min readJan 15, 2019

--

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.

--

--

No responses yet