Click 코틀린 플레이그라운드(Kotlin Playground)
// 리스트를 선언. 변수 이름은 아무렇게나 가능
var numList = listOf(1,2,3)
var stringList = listOf("a","b","c")
// 리스트에는 같은 타입만 들어가야함
println(numList[0])
println(numList[2])
println(stringList[1])
// 리스트의 길이 구하기
stringList.size // 3 출력
//사전이라고 생각하시면 편해요.
//key에 value를 저장하는 형태랍니다.
var myMap = mapOf("FirstName" to "Rtan", "LastName" to "Lee")
// 맵을 선언. 변수 이름은 역시 아무렇게나 가능!
// 또는,
var asciiMap = mapOf(65 to "A", "0x30" to 0)
println(myMap["FirstName"]) // Rtan 출력
println(asciiMap[65]) // A 출력
println(asciiMap["0x30"]) // 0 출력
// 맵에 있는 key의 수
myMap.size
// 맵에 있는 key값 가져오기
myMap.keys // [] 출력
// 맵에 있는 value값 가져오기
myMap.values // [] 출력
listOf()와 mapOf()는 생성하면 읽기전용 모드로 생성되어 수정이 불가능
수정 가능하게 만드려면 mutableListOf()와 mutableMapOf()를 사용
//수정가능한 리스트 생성
var alphabetList = mutableListOf("a","b","c")
//새로운 값을 마지막에 추가
alphabetList.add("d") //d 추가
println(alphabetList) //[a, b, c, d]
//n번째에 값을 추가
alphabetList.add(2, "d")
println(alphabetList) //[a, b, d, c, d]
//값을 변경
alphabetList[0] = "A"
println(alphabetList) //[A, b, d, c, d]
// 또는,
alphabetList.set(1, "B")
println(alphabetList) //[A, B, d, c, d]
//해당 하는 값이 있으면 가장 먼저 나오는 값을 제거
alphabetList.remove("d")
println(alphabetList) //[A, B, c, d]
//n번째 값을 제거
alphabetList.removeAt(3)
println(alphabetList) //[A, B, c]
//수정가능한 맵 생성
var myMap = mutableMapOf("FirstName" to "Rtan", "LastName" to "Lee")
//새로운 값을 추가
myMap.put("language", "korean")
println(myMap) //{FirstName=Rtan, LastName=Lee, language=korean}
//값을 변경
myMap["FirstName"] = "Rtanny"
println(myMap) //{FirstName=Rtanny, LastName=Lee, language=korean}
//또는, 맵에서 값을 추가할 때 기존에 있는 키라면 값을 변경해요.
myMap.put("language", "kotlin")
println(myMap) //{FirstName=Rtanny, LastName=Lee, language=kotlin}
//값을 제거
myMap.remove("LastName")
println(myMap) //{FirstName=Rtanny, language=kotlin}
var students = mutableListOf(
mapOf("name" to "bob", "age" to 20),
mapOf("name" to "carry", "age" to 28)
)
println(students[0]["name"]) //bob 출력
println(students[1]["name"]) //carry 출력
students.add(mapOf("name" to "john", "age" to 17))
println(students)
//[{name=bob, age=20}, {name=carry, age=28}, {name=john, age=17}]
//예를 들면, '나눗셈의나머지'를 구하고 싶은 경우
var a = 20
var b = 7
println(a % b)
//또, 모든 알파벳을 대문자로 바꾸고 싶은 경우
var myname = "spartacodingclub"
println(myname.toUpperCase()) // SPARTACODINGCLUB
//또, 특정 문자로 문자열을 나누고 싶은 경우
var myemail = "sparta@gmail.com"
var result = myemail.split("@") // [sparta, gmail.com]
println(result[0]) // sparta
println(result[1]) // gmail.com
let result2 = result[1].split(".") // [gmail, com]
println(result2[0]) // gmail -> 우리가 알고 싶었던 것!
println(result2[1]) // com
myemail.split("@")[1].split(".")[0] // gmail -> 간단하게 쓸 수도 있다!