본문 바로가기
Dart/Study

Dart에서 List와 Map을 정렬하는 방법

by Maccrey Coding 2024. 10. 15.
728x90
반응형

 

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.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

 

728x90
반응형