Array, Generic, Collection) Map
Map은 딕셔너리와 비슷한데, 키와 값으로 이루어진 원소들의 모음이다. [불변 Map - mapOf()]map의 출력 방식fun main(){ val mapA: Map = mapOf("One" to 1, "Two" to 2, "Three" to 3) //키와 값을 동시에 출력 for ((k, v) in mapA) { println("($k, $v)") } //(One, 1) //(Two, 2) //(Three, 3) //키만 출력 println(mapA.keys) //[One, Two, Three] //값만 출력 println(mapA.values) //[1, 2, 3]} 키가 중복된 경우 ⭐️: 이전 값은 무시하고 새로..
2024. 10. 13.
Array, Generic, Collection) Set
Set은 순서가 없고, 중복을 허용하지 않는 원소들의 모음이다. 즉, 인덱싱이 불가하다. [불변 Set - setOf()]Set의 size: 중복은 제거하고 요소 개수를 센다. val setA: Set = setOf(1,2,3,4,4,4)println(setA.size) // 4가 중복이기 때문에 개수는 4개 Set을 List로 변환: List로 변환하면 인덱싱도 가능해진다. val listA: List = setA.toList()println(listA) //[1, 2, 3, 4] null 값이 있는 Set: ?를 사용해서 null 있어도 안전하게 처리해야한다.null도 중복을 허용하지 않기 때문에, 하나만 있다고 간주한다.val setA: Set = setOf("How", "Are", ..
2024. 10. 13.
Array, Generic, Collection) List
Collection이란 여러 원소들의 모음이다. List는 순서가 있는 원소들의 모음이다. 즉, 인덱싱이 가능하다. 불변 List - listOf()[List와 관련된 표준 라이브러리들]val strList: List = listOf("red", "green", "blue") sizeprintln(strList.size) //3 first, lastprintln("${strList.first()}, ${strList.last()}") //red, blue mapprintln(strList.map { it.length }) //[3, 5, 4]// 각 원소들의 길이 출력, map은 순환하는 것 filterprintln(strList.filter { it.length > 3 }) //[green, blu..
2024. 10. 13.
Array, Generic, Collection) Generic
이터레이터 원소 출력fun main() { val intSequence: Iterable = listOf(1,2,3,4,5) val iter:Iterator = intSequence.iterator() while(iter.hasNext()){ //다음 원소가 없을 때 까지 val item = iter.next() println(item) // 1 2 3 4 5 }} 콜렉션fun main() { val intCollection: Collection = listOf(1,2,3,4,5) println(intCollection.size) //5 println(intCollection.isNotEmpty()) //true println(intCo..
2024. 10. 13.
Array, Generic, Collection) Array(1) - 배열의 생성
배열은 순서를 갖고있다. 따라서 정수 인덱싱이 가능하다.배열을 생성하는 방법은 총 3가지가 있다. arrayOf(), Array() + 람다식, 타입 + ArrayOf() arrayOf()var/val 배열명: Array = arrayOf("", "", "")//타입은 생략가능var/val 배열명 = arrayOf("", "", "") 실제 사용 예시는 아래와 같다.fun main() { val strArr = arrayOf("R", "G", "B") strArr.forEachIndexed{ i, str -> print("strArr[$i] = $str, ")} // strArr[0] = R, strArr[1] = G, strArr[2] = B, } Array() + 람다식..
2024. 10. 11.
Class(2) - 범위 함수
범위 함수란?Kotlin에서 객체를 특정 범위(scope) 내에서 처리할 수 있게 도와주는 함수로, 객체의 컨텍스트에서 작업을 수행하는 간결한 방법을 제공한다. 주로 코드의 가독성을 높이고 객체를 효율적으로 처리하기 위해 사용된다. 범위함수에는 let, also, apply, with, run이 있다. let: 지정된 값에 대한 변환 작업을 수행하고, 결과를 반환한다.also: 지정된 값을 그대로 반환하면서, 부수적인 작업(로깅, 디버깅 등)을 수행한다. 주로, 객체를 참조하는 목적으로 사용apply: 객체의 속성을 변경하는 작업을 하고, 객체 자체를 반환한다. 주로, 객체를 참조하는 목적으로 사용with: 특정 객체에 대해 여러 작업을 수행하고, 결과를 반환한다.run: 블록 안에서 객체의 작업을 수..
2024. 10. 11.