#5 [Kotlin] 컬렉션 타입, 조건문과 반복문

정상준·2022년 10월 28일
0

kotlin

목록 보기
5/26
post-thumbnail
post-custom-banner

컬렉션 타입

Array - 배열 표현

배열 선언 val data1 : Array<타입> = Array(크기,{초기값})

예시

package com.example.androidlab

fun main(){
    val data1:Array<Int> = Array(3,{0});

    data1[0] = 10;
    data1[1] = 20;
    data1.set(2,30);

    println(
        """
            array size : ${data1.size}
            array data : ${data1[0]}, ${data1[1]}, ${data1.get(2)}
        """.trimIndent()
    )
}

또한 제네릭으로 명시하지 않고 기초 각 기초 타입의 배열을 나타내는 클래스 이용할 수 있다.

ex) val data1 : IntArray = IntArray(3,{0})

arrayOf() 함수 이용시 배열을 선언할 때 값 할당도 가능

ex) val data1 = arrayOf(10,20,30)

List, Set, Map: 은 Collection 인터페이스를 타입으로 표현한 클래스이며 통틀어 컬렉션 타입클래스라고 한다.

List : 순서가 있으며 데이터 집합으로 데이터의 중복을 허용

Set : 순서가 없으며 데이터의 중복을 허용하지 않음

Map : 키와 값으로 이루어진 데이터 집합으로 순서가 없으며 키의 중복은 허용하지 않음

Collection 타입의 클래스는 가변클래스와 불변클래스로 나뉜다. 불변의 경우 add(), set()함수는 제공하지 않으며 MutableList는 가변 타입으로 제공한다. Set과 Map도 마찬가지이다.

ex) mutableListOf

package com.example.androidlab

fun main(){
    var mutableList = mutableListOf<Int>(10,20,30)
    mutableList.add(40)
    mutableList.set(0,50)

    println("""
        list size : ${mutableList.size}
        list data : ${mutableList[0]},${mutableList.get(1)},${mutableList.get(2)}
    """.trimIndent()
    )
}

ex) Map

package com.example.androidlab

fun main(){
    var map = mapOf<String,String>(Pair("one","hello"),"two" to "world")

    println(
        """
            map size : ${map.size}
            map data : ${map.get("one")}, ${map.get("two")}
        """.trimIndent()
    )
}

조건문과 반복문

ex) 조건문(if)

package com.example.androidlab

fun main(){
    var data = 10
    if(data>0){
        print("data > 0")
    }else{
        print("data<=0")
    }
}

ex) 조건문(when)

package com.example.androidlab

fun main(){
    var data = "hello"
    when(data){
        "hello" -> println("data is hello")
        "world" -> println("data is world")
        else ->{
            println("data is not valid data")
        }
    }
}

ex) 반복문(for)

package com.example.androidlab

fun main(){
   var sum : Int = 0
    for(i in 1..10){
        sum += i
    }
    print(sum)
}

for(i in 1..10) 1부터 10까지 1씩 증가

for(i in 1 until 10) 1부터 9까지 1씩 증가

for(i in 2..10 step 2) 2부터 10까지 2씩 증가

for(i in 10 downTo 1) 10부터 1까지 1씩 감소

profile
안드로이드개발자
post-custom-banner

0개의 댓글