티스토리 뷰

728x90

Dart에서 Map을 정렬할 때, key 또는 value를 기준으로 정렬하는 방법을 소개합니다.

 

또한, 오름차순 또는 내림차순으로 정렬하는 방법을 소개합니다.

 

Key를 기준으로 Map 정렬

아래와 같이 key를 기준으로 Map을 오름차순으로 정렬할 수 있습니다.

void main() {
  Map<String, int> map = {
    'Alice': 25,
    'Bob': 18,
    'Charlie': 32,
    'David': 27,
    'Emma': 21,
  };

  // key를 기준으로 오름차순으로 정렬
  Map<String, int> sortedMap = Map.fromEntries(
      map.entries.toList()..sort((e1, e2) => e1.key.compareTo(e2.key)));

  print(sortedMap); // {Alice: 25, Bob: 18, Charlie: 32, David: 27, Emma: 21}
}

 

만약 내림차순으로 정렬하고 싶으면, compareTo()의 변수 위치를 서로 바꾸면 됩니다.

  // key를 기준으로 내림차순 정렬
  Map<String, int> sortedMap = Map.fromEntries(
      map.entries.toList()..sort((e1, e2) => e2.key.compareTo(e1.key)));

 

Value를 기준으로 Map 정렬

아래와 같이 value를 기준으로 Map을 오름차순으로 정렬할 수 있습니다.

void main() {
  Map<String, int> map = {
    'Alice': 25,
    'Bob': 18,
    'Charlie': 32,
    'David': 27,
    'Emma': 21,
  };

  // value를 기준으로 오름차순 정렬
  Map<String, int> sortedMap = Map.fromEntries(
      map.entries.toList()..sort((e1, e2) => e1.value.compareTo(e2.value)));

  print(sortedMap); // {Bob: 18, Emma: 21, Alice: 25, David: 27, Charlie: 32}
}

 

만약 내림차순으로 정렬하고 싶으면, compareTo()의 변수 위치를 서로 바꾸면 됩니다.

// value를 기준으로 내림차순 정렬
  Map<String, int> sortedMap = Map.fromEntries(
      map.entries.toList()..sort((e1, e2) => e2.value.compareTo(e1.value)));
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
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
글 보관함