sortedBy(), sortedWith()

sumi Yoo·2022년 9월 28일
0

sortedBy()

원본 리스트를 바꾸지 않고 소팅된 리스트를 리턴한다.
selector을 지정하면 소팅 기준을 정할 수 있다.
하나의 기준을 두고 정렬하고싶을때 사용하면 된다.

var sorted = planedit.sortedBy{it.first}

내림차순으로 정렬할땐 sortedByDescending()을 사용하면 된다.

sortedWith()

원본 리스트를 바꾸지 않고 소팅된 리스트를 리턴한다.
sortedBy()와 다른점은 comparator을 지정해서 다중 기준을 둘 수 있다는 점이다.
Comparator는 함수형 인터페이스이기 때문에 람다형으로 간단하게 만들 수 있는 것이다.

첫번째꺼로 먼저 소팅한 후, 두번째꺼로도 소팅을 할 수 있다는 것이다.

var sorted = planedit.sortedWith(compareBy({ it.first }, { it.second }))
val sorted = list.sortedWith(compareBy({ it.first }, {-it.second}))

파이썬 처럼 - 를 붙여주면 거꾸로 소팅된다.

0개의 댓글

관련 채용 정보