[Android/Kotlin] [TIL] Kotlin 유용한 함수 !!

[Android/Kotlin] [TIL] Kotlin 유용한 함수 !!

내가쓸려고 만드는 Kotlin 유용한 함수 Part :)

Kotlin 공부를 하는데 실력을 늘리기 위해 유용한 함수들을 미리 숙지해보자 :)

###

Collection을 사용할 때 유용한 함수!

sort() , sortDescending()

  • Collection을 정렬해주는 함수

    val listAsc = mutableListOf(1,3,2)
    listAsc.sort() //오름차순 정렬
      
    val listDesc = mutableListOf(1,3,2)
    listDesc.sortDescending() //내림차순 정렬
    
    [1,2,3]
    [3,2,1]
    

map()

  • Collection에 사용하는 고차함수이며 각 구성요소들에 대해서 특정 식을 거친 후 새로운 Collection을 반환해준다.

  • List의 구성요소들을 2배 해주도록 매핑한 모습으로 it을 통해서

    val list : List<Int> = listOf(1,2,3)
      
    val mapList = list.map{ it * 2 }
    println(mapList)
    

forEach(), forEachIndexed()

  • Collection의 구성요소들을 하나씩 순회가능하다.

  • 만약 Index값을 함께 사용하고싶다면 forEachIndexed()를 사용하면 된다.

    val list = List<Char> = listOf('가','나','다')
      
    a.forEach{ println(it) }
    a.forEachIndex{index, c -> println("$index : $c")}
    
    
    
    
    0 : 
    1 : 
    2 : 
    

filter()

  • 특정 조건과 일치하는 구성요소만 반환하는 함수이다.

  • true일 때의 값을 반환한다.

    val list = List<Int> = listOf( 1, 2, 3, 4, 5)
    val filterList = list.filter{
      it >= 3
    }
    println(filterList)
    
    [3, 4, 5]
    

find()

  • filter()와 비슷하지만 특정 조건을 최초로 만족하는 구성요소를 반환한다.

  • 만약 조건에 맞지 않다면 null을 반환한다.

    val list: List<Int> = listOf(1, 2, 3, 4, 5, 6)
    val findList = a.find { it % 2 == 0 }
    println(findList)
        
    findList = a.findLast { it % 2 == 0 }
    println(findList)
    
    2
    6
    

    any(), all(), none()

  • Collection의 구성요소들을 검사하며 Boolean값을 반환한다.

  • any : 조건에 맞는 요소가 존재하는지 유무

  • all : 모두 조건과 맞는지

  • none : 전부 조건과 일치하지 않는지

    val list: List<Int> = listOf(1, 2, 3, 4, 5, 6)
      
    list.any{it % 2 == 0} //true
    list.all{it % 2 == 0} //false
    list.none{it < 0} 		//true
    

    flatMap()

  • Collection의 구성요소들 각각마다 원하는 형태로 Collection 을 새로 만들고, 이들을 하나의 Collection 으로 Flatten 하여 반환한다.

    val list: List<Int> = listOf(1, 2, 3)
    val flatList = list.flatMap {
        listOf(it * 3, it * 4)
    }
    println(flatList)
    
    [3, 4, 6, 8, 9, 12]
    

    partition()

  • 어떤 원소에 대해 특정 조건을 걸어서, 조건과 일치하는 요소들과 그렇지 않은 요소로 두 Collection 으로 분리한다.

  • 여기서 Pair형태로 분리되게 되고 firsttrue인 요소 secondfalse인 요소들이 된다.

    val list : List<Int> = listOf(1, 2, 3, 4, 5, 6)
    val partition = list.partition { it % 2 == 0 }
      
    println(partition.first)   // 조건에 만족하는 요소
    println(partition.second)  // 조건에 만족하지 않는 요소
    
    [2, 4, 6]
    [1, 3, 5]
    

오름차순과 내림차순

sort(), sortDescending()

  • sort() : 내림차순
  • sortDescending() : 오름차순

© 2023. All rights reserved.

by SoftyChoo