Flutter/Dart - Map 순회 방법

for loop 등으로 Map(HashMap)의 아이템들을 순회하는 방법을 소개합니다.

1. forEach()로 key-value 순회

Map.forEach((key, value) { })로 Map의 key-value 쌍으로 아이템들을 순회할 수 있습니다.

void main() {

    Map<String, int> map = {'a': 0, 'b': 1, 'c': 2};

    map.forEach((key, value) {
        print('key: $key, value: $value');
    });
}

Output:

key: a, value: 0
key: b, value: 1
key: c, value: 2

2. MapEntry로 key-value 순회

Map.entries는 아이템들에 대한 MapEntry의 Iterable 객체를 리턴합니다. MapEntry는 아이템의 key와 value 값을 갖고 있습니다.

아래와 같이 for문으로 MapEntry들을 순회할 수 있습니다.

void main() {

    Map<String, int> map = {'a': 0, 'b': 1, 'c': 2};

    for (MapEntry e in map.entries) {
        print('key: ${e.key}, value: ${e.value}');
    }
}

Output:

key: a, value: 0
key: b, value: 1
key: c, value: 2

for문 대신에 아래처럼 forEach()로 순회할 수도 있습니다.

void main() {

    Map<String, int> map = {'a': 0, 'b': 1, 'c': 2};

    map.entries.forEach((e) => print('key: ${e.key}, value: ${e.value}'));
}

3. Map.keys로 key 순회

Map.keys는 key에 대한 Iterable 객체를 리턴합니다.

아래와 같이 for문으로 key들을 순회할 수 있으며, key로 Map에서 value를 가져올 수 있습니다.

void main() {

    Map<String, int> map = {'a': 0, 'b': 1, 'c': 2};

    for (var k in map.keys) {
        print('key: $k, value: ${map[k]}');
    }
}

Output:

key: a, value: 0
key: b, value: 1
key: c, value: 2

아래와 같이 forEach()로 위와 동일하게 key를 순회할 수 있습니다.

void main() {

    Map<String, int> map = {'a': 0, 'b': 1, 'c': 2};

    map.keys.forEach((key) => print('value: $key, value: ${map[key]}') );
}

4. Map.values로 value 순회

Map.values는 value에 대한 Iterable 객체를 리턴합니다.

아래와 같이 for문으로 value들을 순회할 수 있습니다.

void main() {

    Map<String, int> map = {'a': 0, 'b': 1, 'c': 2};

    for (var value in map.values) {
        print('value: $value');
    }
}

Output:

value: 0
value: 1
value: 2

아래와 같이 forEach()로 위와 동일하게 value를 순회할 수 있습니다.

void main() {

    Map<String, int> map = {'a': 0, 'b': 1, 'c': 2};

    map.values.forEach((value) => print('value: $value') );
}
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha