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 |