[Kotiln] Map정렬

2022. 4. 27. 03:15ETC/Kotlin

728x90
반응형

키 값을 기준으로 정렬 : toSortedMap

sorted는 정렬된 List 타입을 반환하므로 이를 다시 저장해주어야 함

package com.example.solution

fun main() {
   	var aa = mutableMapOf<String, Int>("zz" to 1, "bb" to 5, "aa" to 2)
        println("처음" + aa)
        val mm = aa.toSortedMap(compareBy {it} )
        val mm2 = aa.toSortedMap(compareByDescending {it} )
        println("오름차순" + mm)
        println("내림차순" + mm2)

}

 

Value 값을 기준으로 정렬

Map을 List로 변환한 후 정렬 해주고 다시 Map으로 변환

package com.example.solution

fun main() {
    val mm = mutableMapOf(1 to "za", 3 to "yd", 2 to "zzz", 4 to "aa")
    println(mm)

    //리스트로 변환
    var mapToList = mm.toList()
    for(i in mapToList) {
        println("${i.first}:${i.second}")
    }

    println("---------정렬------------")
    val tl2 = mapToList.sortedBy { it.second }
    val tl22 = mapToList.sortedByDescending { it.second }
    println(tl2)
    println(tl22)


    println("---------toMutableMap------------")
    val mm2 = tl2.toMap().toMutableMap()
    mm2.forEach{(k, v) -> print("${k}:${v}  ")}
    println()

    println("---------리스트와 맵 차이------------")
    val mm3 = mm.toList().sortedBy { it.second }
    println(mm3)
    val mm33 = mm.toList().sortedBy { it.second }.toMap().toMutableMap()
    println(mm33)

}

 

 

 

 

참조

https://notepad96.tistory.com/entry/map-2

 

Kotlin sort map by value - 맵 값(Value)으로 정렬

1. Map value sort Map은 Key/Value 쌍의 값을 갖는 구조이다. 기존 Map에서는 toSortedMap 함수를 사용하여서 Key값을 기준으로 오름차순, 내림차순 등 정렬을 할 수 있었다. Kotlin Map, MutableMap 추가, 삭제..

notepad96.tistory.com

 

728x90
반응형

'ETC > Kotlin' 카테고리의 다른 글

[Kotiln] 작은수 큰수비교 coerceAtLeast, coerceAtMost  (0) 2022.04.28
[Kotiln] List추출 slice(), take()  (0) 2022.04.28
[Kotiln] List정렬  (0) 2022.04.27
[Kotiln] List&Map  (0) 2022.04.26
[Kotiln] 해시  (0) 2022.04.25