투케이2K

333. (kotlin/코틀린) ArrayList 배열 sortByDescending 사용해 모델 클래스 (data class) 특정 Key 키 값 기준 내림 차순 정렬 수행 본문

Kotlin

333. (kotlin/코틀린) ArrayList 배열 sortByDescending 사용해 모델 클래스 (data class) 특정 Key 키 값 기준 내림 차순 정렬 수행

투케이2K 2023. 7. 5. 22:01

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // ---------------------------------------------------------------
        // [로직 처리 실시]
        // ---------------------------------------------------------------
        try {

            // [1]. 모델 객체 생성 수행
            var user_1 = M_User("투케이", 29, true)
            var user_2 = M_User("2K", 28, true)
            var user_3 = M_User("TWOK", 30, true)


            // [2]. 모델 객체를 삽입하기 위한 배열 선언
            var user_Array = ArrayList<M_User>()
            user_Array.add(user_1)
            user_Array.add(user_2)
            user_Array.add(user_3)

            S_Log._D_("정렬 전) 사용자 정보", arrayOf( user_Array.toString() ))


            // [3]. sortByDescending 를 사용해 모델 객체에서 특정 값을 기준으로 배열 데이터 재정렬 수행
            user_Array.sortByDescending { it.age } // [내림 차순]
            //user_Array.sortBy { it.age } // [오름 차순]


            // [4]. 로그 출력 실시
            S_Log._D_("정렬 후) 사용자 정보", arrayOf( user_Array.toString() ))

        }
        catch (e : Exception) {
            S_Log._printStackTrace_(A_Intro@this, "예외 상황 발생", null, e)
        }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.A_Intro.onCreate(A_Intro.kt:157)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 정렬 전) 사용자 정보]
I/: ----------------------------------------------------
I/: [LOG :: [M_User(name=투케이, age=29, sex=true), M_User(name=2K, age=28, sex=true), M_User(name=TWOK, age=30, sex=true)]]
D///===========//: ================================================



D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.A_Intro.onCreate(A_Intro.kt:166)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: 정렬 후) 사용자 정보]
I/: ----------------------------------------------------
I/: [LOG :: [M_User(name=TWOK, age=30, sex=true), M_User(name=투케이, age=29, sex=true), M_User(name=2K, age=28, sex=true)]]
D///===========//: ================================================

 

반응형
Comments