반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Google Spreadsheet
- c#
- Github
- Tkinter
- matplotlib
- SQL
- PySpark
- Redshift
- math
- Java
- gas
- string
- Apache
- hive
- dataframe
- GIT
- array
- google apps script
- django
- PostgreSQL
- Mac
- 파이썬
- list
- Python
- numpy
- PANDAS
- Kotlin
- Google Excel
- Excel
Archives
- Today
- Total
달나라 노트
Kotlin - sorted, sortedDescending, sortedWith 본문
728x90
반응형
Original source = play.kotlinlang.org/byExample/01_introduction/01_Hello%20world
fun main() {
var list_numbers = listOf(1, -1, 2, -2, 3, -3)
var list_sorted = list_numbers.sorted()
println(list_sorted)
var list_sort_desc = list_numbers.sortedDescending()
println(list_sort_desc)
}
-- Result
[-3, -2, -1, 1, 2, 3]
[3, 2, 1, -1, -2, -3]
sorted 함수는 list를 오름차순으로 정렬합니다.
sortedDescending 함수는 list를 내림차순으로 정렬합니다.
sorted는 기본적으로 숫자 기준 오름차순, 알파벳순 등으로 정렬을 합니다.
그런데 만약 문자의 길이순서대로 정렬하고싶다면 어떻게 해야할까요?
그때 sortedWith을 사용할 수 있습니다.
fun main() {
val fruits = listOf("Melon", "Apple", "Banana", "Mango", "Strawberry", "Watermelon")
println(fruits.sortedWith() {str1: String, str2:String -> str1.length - str2.length})
}
-- Result
[Melon, Apple, Mango, Banana, Strawberry, Watermelon]
sortedWith은 위처럼 lambda 표현식과 함께 사용할 수 있습니다.
sortedWith은 내가 원하는 기준으로 collection을 정렬할 수 있는 기능을 제공합니다.
이를 위해선 정렬의 기준이 되는 비교 기준을 명시해줘야 합니다.
위 예시에선 str1, str2 간의 길이 차이를 {} 안에 명시해주고있습니다.
즉, collection의 두 요소간의 길이 차이를 계산하고 그 차이대로 정렬하라는 뜻이죠.
728x90
반응형
'Kotlin' 카테고리의 다른 글
Kotlin - minOrNull, maxOrNull (0) | 2021.03.16 |
---|---|
Kotlin - partition (0) | 2021.03.16 |
Kotlin - count (0) | 2021.03.16 |
Kotlin - first, last, firstOrNull, lastOrNull (0) | 2021.03.16 |
Kotlin - find, findLast (0) | 2021.03.15 |
Comments