Dart에서 데이터를 정렬하는 것은 매우 중요해요!
이번 블로그에서는 Dart의 List와 Map을 정렬하는 방법을 쉽게 설명할게요. 차근차근 따라 해보세요!
1. List 정렬하기
List는 Dart에서 배열처럼 여러 값을 저장할 수 있는 자료형이에요. 숫자나 문자열 같은 데이터를 정렬할 때, Dart에서 sort() 메서드를 사용할 수 있어요.
숫자 리스트 정렬하기
만약 숫자가 들어 있는 리스트가 있다면, 기본적으로 sort()를 사용하면 오름차순으로 정렬돼요.
void main() {
List<int> numbers = [5, 3, 8, 1, 2];
numbers.sort();
print(numbers); // [1, 2, 3, 5, 8]
}
내림차순으로 정렬하기
내림차순으로 정렬하고 싶다면, compareTo() 메서드를 이용해 직접 비교하는 방법을 사용하면 돼요.
void main() {
List<int> numbers = [5, 3, 8, 1, 2];
numbers.sort((a, b) => b.compareTo(a));
print(numbers); // [8, 5, 3, 2, 1]
}
문자열 리스트 정렬하기
문자열도 비슷한 방식으로 정렬할 수 있어요.
void main() {
List<String> words = ['banana', 'apple', 'orange'];
words.sort();
print(words); // ['apple', 'banana', 'orange']
}
문자열도 위와 같이 기본적으로 오름차순으로 정렬되며, 내림차순은 숫자와 마찬가지로 compareTo()를 사용하면 돼요.
void main() {
List<String> words = ['banana', 'apple', 'orange'];
words.sort((a, b) => b.compareTo(a));
print(words); // ['orange', 'banana', 'apple']
}
2. Map 정렬하기
Dart에서 Map은 키와 값으로 이루어진 데이터를 저장해요. Map 자체에는 정렬 기능이 없지만, Map을 리스트로 변환한 다음 정렬할 수 있어요.
키를 기준으로 정렬하기
먼저, Map의 키를 기준으로 정렬해볼게요.
void main() {
Map<String, int> fruits = {'banana': 2, 'apple': 5, 'orange': 3};
var sortedKeys = fruits.keys.toList()..sort();
Map<String, int> sortedMap = {for (var key in sortedKeys) key: fruits[key]};
print(sortedMap); // {apple: 5, banana: 2, orange: 3}
}
여기서 keys.toList()로 키들을 리스트로 만든 후, sort()로 정렬했어요.
값을 기준으로 정렬하기
이번에는 값을 기준으로 정렬하는 방법을 알아볼게요.
void main() {
Map<String, int> fruits = {'banana': 2, 'apple': 5, 'orange': 3};
var sortedEntries = fruits.entries.toList()
..sort((a, b) => a.value.compareTo(b.value));
Map<String, int> sortedMap = {for (var entry in sortedEntries) entry.key: entry.value};
print(sortedMap); // {banana: 2, orange: 3, apple: 5}
}
entries.toList()를 사용해 Map의 항목을 리스트로 변환하고, 값을 기준으로 정렬한 다음 다시 Map으로 변환했어요.
Dart에서 List와 Map을 정렬하는 방법은 정말 간단해요! List는 sort() 메서드를 이용하고, Map은 먼저 리스트로 변환한 후 정렬하는 방식으로 해결할 수 있어요. 데이터를 정렬하는 방법을 잘 알면 더 깔끔하고 유용한 코드를 작성할 수 있겠죠?
이제 Dart에서 정렬하는 방법을 연습해보세요!
구독!! 공감과 댓글,
광고 클릭은 저에게 큰 힘이 됩니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
'Dart > Study' 카테고리의 다른 글
Dart에서 타이머 숫자를 항상 두자리로 표시해주는 padLeft 메서드 사용법 (2) | 2024.11.30 |
---|---|
Dart에서 클래스 생성 시 일반 파라미터와 Named 파라미터 사용 방법: 초보자를 위한 완벽 가이드 (1) | 2024.09.15 |
Dart에서 Immutable vs Mutable 완벽 가이드 (2) | 2024.09.11 |
Dart의 Typedef: 쉽게 이해하는 사용 방법과 옵션 (1) | 2024.09.02 |
Dart의 .. 연산자: 카스케이드 연산자 사용법 완벽 가이드 (0) | 2024.08.26 |