티스토리 뷰
728x170
Dart에서 리스트를 오름차순, 내림차순으로 정렬하는 방법을 예제와 함께 알아보겠습니다.
1. sort()로 리스트 정렬
List.sort()는 리스트를 오름차순으로 정렬합니다.
만약 내림차순으로 정렬하려면 직접 정렬하는 코드를 구현해야 하며, sort() 함수의 인자로 전달해야 합니다.
아래와 같이 정렬 함수를 내림차순으로 정렬되도록 구현하시면 됩니다.
void main() {
List<int> numbers = [4, 2, 6, 8, 1];
numbers.sort(); // 오름차순 정렬
print(numbers); // [1, 2, 4, 6, 8]
numbers.sort((a, b) => b.compareTo(a)); // 내림차순 정렬
print(numbers); // [8, 6, 4, 2, 1]
}
2. 객체 리스트 정렬
String, Int가 아닌 Custom 클래스 객체를 갖고 있는 리스트를 정렬할 수도 있습니다.
대신, 정렬하는 코드를 직접구현하고 sort()의 인자로 전달해야 합니다.
아래 예제는 이름을 오름차순으로 정렬하고, 나이를 내림차순으로 정렬하는 예제입니다.
sort()의 함수를 보시면 어떻게 비교하는 함수를 구현하는지 알 수 있습니다.
class Person {
String name;
int age;
Person(this.name, this.age);
@override
String toString() => '$name ($age)';
}
void main() {
List<Person> people = [
Person('Alice', 25),
Person('Bob', 30),
Person('Charlie', 20),
];
people.sort((a, b) => a.name.compareTo(b.name)); // 이름 오름차순 정렬
print(people); // [Alice (25), Bob (30), Charlie (20)]
people.sort((a, b) => b.age.compareTo(a.age)); // 나이 내림차순 정렬
print(people); // [Bob (30), Alice (25), Charlie (20)]
}
그리드형
'개발 > Dart' 카테고리의 다른 글
Dart - 파일/디렉토리 삭제 (0) | 2023.06.11 |
---|---|
Dart - 리스트 분리(자르기, 나누기) (0) | 2023.04.27 |
Dart - 예외처리 방법(Exception handling) (0) | 2023.04.26 |
Dart - Map 생성, 초기화 방법 (0) | 2023.04.16 |
Dart - Map 루프, 순회 방법 (0) | 2023.04.15 |
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
- 파란버섯
- 오블완
- 와일드보어의 땅
- 모루정원
- 15e 트램
- 티스토리챌린지
- DART
- 원숭이의숲
- 12e 트램
- 다크스텀프
- 메이플랜드
- Skia
- 포르투
- 리스보아 카드
- javascript
- aosp 빌드
- 포르투갈
- 나무던전
- 안드로이드
- android
- adb
- 마비노기 모바일
- 파이썬
- Python
- Unreal Engine
- 와보땅
- Flutter
- 리스본
- java
- 주황버섯
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |
글 보관함
세로형