안드로이드 앱 개발기 #38 - 정렬 사용 방법도 알아두면 좋겠습니다steemCreated with Sketch.

시작하며...

때로는 서버로부터 받아온 배열이나 리스트를 특정 데이터를 기준으로 오름차 또는 내림차순으로 정렬을 해야 할 때가 있습니다. 컨테이너별 정렬 방법을 알아두면 앞으로 도움이 되지 않을까 해서 오늘 포스트로 작성해 봅니다.


기본 데이터 타입 원소들을 갖는 배열 정렬

  • 오름차순: 배열의 sorted() 메소드 호출
  • 내림차순: sorted()에 이어 연속으로 reversed() 메소드 호출

기본 데이터 타입 원소들을 갖는 리스트 정렬

  • 변경 불가 리스트(immutable list): 배열과 방법 동일
  • 변경 가능 리스트(mutable list)
    • 오름차순: 리스트의 sort() 메소드 호출
    • 내림차순: 리스트의 sort() 메소드 호출 후 리스트의 reverse() 메소드 호출

int 타입 원소들을 갖는 배열, 리스트 정렬 예제 코드

import kotlinx.coroutines.*

fun main() {
    println("start\n")

    val sortedIntArray = arrayOf(1, 100, 50, 25, 75).sorted()
    println("Sorted int array: ${sortedIntArray}")

    val reverseSortedIntArray = arrayOf(1, 100, 50, 25, 75).sorted().reversed()
    println("Reverse sorted int array: ${reverseSortedIntArray}")

    val sortedIntList = listOf(1, 100, 50, 25, 75).sorted()
    println("Sorted int list: ${sortedIntList}")

    val reverseSortedIntList = listOf(1, 100, 50, 25, 75).sorted().reversed()
    println("Reverse sorted int list: ${reverseSortedIntList}")
    
    println("----------------------------------------------------------------")

    val sortedIntMutableList = mutableListOf(1, 100, 50, 25, 75).sort()
    println("Sorted int mutable list: ${sortedIntList}")

    val reverseSortedIntMutableList = mutableListOf(1, 100, 50, 25, 75).apply {
        sort()
        reverse()
    }
    println("Reverse sorted int mutable list: ${reverseSortedIntMutableList}")

    println("\n\nend")
}

예제 코드 실행 결과

start

Sorted int array: [1, 25, 50, 75, 100]
Reverse sorted int array: [100, 75, 50, 25, 1]
Sorted int list: [1, 25, 50, 75, 100]
Reverse sorted int list: [100, 75, 50, 25, 1]
----------------------------------------------------------------
Sorted int mutable list: [1, 25, 50, 75, 100]
Reverse sorted int mutable list: [100, 75, 50, 25, 1]


end

지난 안드로이드 앱 개발기

Sort:  
 2 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.24
TRX 0.22
JST 0.037
BTC 98245.75
ETH 3430.51
USDT 1.00
SBD 3.35