import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.*
fun main() = with(BufferedReader(InputStreamReader(System.`in`))){
val mp = HashMap<Int,Int>() // 순서가 필요한 경우 TreeMap 사용
mp[1]=1 // 데이터 삽입시
mp[2]=2
mp[3]=3
mp[1]=(mp[1]?:0)+1 // 기존 데이터를 이용한 수정시 (예를 들어 1증가) null체크를 위해 엘비스 연산자 사용
for((key,value) in mp){
println("key:$key value:$value")
}
// 출력
// key:1 value:2
// key:2 value:2
// key:3 value:3
}
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.*
fun main() = with(BufferedReader(InputStreamReader(System.`in`))){
val mp = HashMap<Int,Int>() // 순서가 필요한 경우 TreeMap 사용
mp[1]=1 // 데이터 삽입시
mp[2]=2
mp[3]=3
mp[1]=(mp[1]?:0)+1 // 기존 데이터를 이용한 수정시 (예를 들어 1증가) null체크를 위해 엘비스 연산자 사용
for((key,value) in mp){
println("key:$key value:$value")
}
// 출력
// key:1 value:2
// key:2 value:2
// key:3 value:3
}
코틀린에서 map을 사용하는 예시입니다.
C++처럼 mp[1]++ 이런 연산은 안되고 엘비스 연산자를 이용해
mp[1]=(mp[1]?:0)+1 이렇게 해주어야 하는것이 불편하네요.
'Problem-Solving > 코틀린으로 PS하기' 카테고리의 다른 글
다차원 배열 (0) | 2021.08.08 |
---|---|
우선순위큐 (PriorityQueue) (0) | 2021.07.15 |
정렬 (0) | 2021.07.15 |