티스토리 뷰
728x90
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)]
}
728x90
'개발 > 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
- 마비노기 모바일
- 와일드보어의 땅
- 파란버섯
- 포르투갈
- 파이썬
- Python
- 원숭이의숲
- 리스보아 카드
- Skia
- 포르투
- 와보땅
- 15e 트램
- java
- aosp 빌드
- 오블완
- Flutter
- 다크스텀프
- 안드로이드
- javascript
- 메이플랜드
- 주황버섯
- 나무던전
- 티스토리챌린지
- Unreal Engine
- DART
- android
- 12e 트램
- 모루정원
- adb
- 리스본
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함