iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
2

Map (不能修改)

( 採 一個 key 對 一個 value ,key 不能重覆。)

Map 的語法


val map = mapOf("1" to "A", "2" to "B")


MutableMap (能修改)

表示特定 key 的 元素



fun main(){
    
    var mutablemap  = mutableMapOf<String, Int>("1" to 1, "2" to 2)
    
    val element = mutablemap ["1"]
    
    println(element)
    
    }
// result
//1

列出所有的key



fun main(){
    
    var mutablemap  = mutableMapOf<String, Int>("1" to 1, "2" to 2)
    
    val allkeys = mutablemap.keys
    
    println(allkeys)
    
    }
// result
// String 陣列
//[1, 2] 

列出所有的value



fun main(){
    
    var mutablemap  = mutableMapOf<String, Int>("1" to 1, "2" to 2)
    
    val allvalues = mutablemap.values
    
    println(allvalues)
    
    }
// result
// Int 陣列
//[1, 2] 

put

加入新的 key value


fun main(){
    
var mutableMap  =  mutableMapOf<String,String>()

mutableMap.put("1", "A")
mutableMap.put("2", "B")
mutableMap.put("3", "C")

println(mutableMap )

}

// result
//{1=A, 2=B, 3=C}

如果 加入 的 key 已經有了
這個加入的 key 的 value 會覆蓋 mutableMap 中相同 key 的 value


fun main(){
    
var mutableMap  =  mutableMapOf<String,String>("1" to "A","2" to "B","3" to "C")

mutableMap.put("3" , "D")
 
println(mutableMap )

}

// result
//{1=A, 2=B, 3=D}

putAll

如果 mutablemap 內有相同的key

像下面例子

mutablemap key "1" 會被修改成 mutablemap2 key "1" 的 value , mutablemap key "2" 的 value , 會被修改成 mutablemap2 key "2" 的 value, 因為 mutablemap2 包含相同的 key
與List 的概念不同



fun main(){
    
    var mutablemap  = mutableMapOf<String, Int>("1" to 1, "2" to 2)
    
   var mutablemap2 = mutableMapOf<String, Int>("1" to 5, "2" to 6)
   
    mutablemap.putAll(mutablemap2)
    
    println(mutablemap)
    
    
   // result
   // {1=5, 2=6}
}

如果 mutablemap 無相同的key, 會加入新的值



fun main(){
    
    var mutablemap  = mutableMapOf<String, Int>("1" to 1, "2" to 2)
    
   var mutablemap2 = mutableMapOf<String, Int>("3" to 3 )
   
    mutablemap.putAll(mutablemap2)
    
    println(mutablemap)
    
    
   // result
   // {1=1, 2=2, 3=3}
}

clear

清除所有元素


fun main(){
    
    var mutablemap  = mutableMapOf<String, Int>("1" to 1, "2" to 2)
    
     mutablemap . clear()
 
    println(mutablemap)
   
// result
// {}
}

remove

移除特定 key 的 value

  1. remove(key)

//example

fun main(){
    
    var mutablemap: MutableMap<String, Int> = mutableMapOf("1" to 1, "2" to 2)
    
    mutablemap.remove("1")
    
    println(mutablemap)
   

} 

// result
// {2=2}

  1. remove(key,value)

所代表 element 並不在 map 返回 false , 並不會刪掉任何 key value



fun main(){
    
    var mutablemap: MutableMap<String, Int> = mutableMapOf("1" to 1, "2" to 2)
    
    println(mutablemap.remove("1",555))
    
    println(mutablemap)
    
    
   
   // result
   // false
   // {1=1, 2=2}
}
 

成功刪除了元素 返回 true


//example

fun main(){
    
    var mutablemap: MutableMap<String, Int> = mutableMapOf("1" to 1, "2" to 2)
    
    println(mutablemap.remove("1",1))
    
    println(mutablemap)
   
   // result
   // true
   // {2=2}
}


contains(key)

利用 key 去尋找 是否這個元素 有則 true 否則 false

 

fun main(){
    
    var mutablemap: MutableMap<String, Int> = mutableMapOf("1" to 1, "2" to 2)
    val isExist = mutablemap.contains("1")
     println(isExist)
   
  // result
  // true
}

 

fun main(){
    
    var mutablemap: MutableMap<String, Int> = mutableMapOf("1" to 1, "2" to 2)
    val isExist = mutablemap.contains("5")
     println(isExist)
   
  // result
  // false
}

containsKey ( )

是否有包含特定的 key 有則 true 否則 false

 

fun main(){
    
    var mutablemap = mutableMapOf<String, Int> ("1" to 1, "2" to 2)
    val isExist = mutablemap.containsKey  ("1" )
     println(isExist)
   
  // result
  // true
}

 

fun main(){
    
    var mutablemap = mutableMapOf<String, Int> ("1" to 1, "2" to 2)
    val isExist = mutablemap.containsKey  ("5")
     println(isExist)
   
  // result
  // false
}

containsValue ( )

是否有包含特定的 value 有則 true 否則 false

 

fun main(){
    
    var mutablemap = mutableMapOf<String, Int> ("1" to 1, "2" to 2)
    val isExist = mutablemap.containsValue ( 2 )
     println(isExist)
   
  // result
  // true
}

 

fun main(){
    
    var mutablemap = mutableMapOf<String, Int> ("1" to 1, "2" to 2)
    val isExist = mutablemap.containsValue ( 5 )
     println(isExist)
   
  // result
  // false
}

isEmpty

判斷集合是否為 空 則為 true 否則為 false

 

fun main(){
    
    var mutablemap = mutableMapOf<String, Int> ("1" to 1, "2" to 2)
     
    println(mutablemap.isEmpty())
   
  // result
  // false
}

 

fun main(){
    
    var mutablemap = mutableMapOf<String, Int> ( )
     
     println(mutablemap.isEmpty())
   
  // result
  // true
}


上一篇
[Day 6 ] 迴圈
下一篇
[Day 8] Kotlin Collection - List
系列文
Android 菜鳥村-開發基礎 30篇32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言