본문 바로가기
Develop

Flutter - List.map

by B-e 2022. 6. 29.
반응형

flutter를 다루다보면 List.map을 써야 할 상황이 반드시 생긴다.

 

map의 데이터 구조가 어떻게 되어있는지는 알겠는데 List데이터에 응용하려니 어떻게 돌아가는건지 모르겠다면 한 번 가볍게 알아보도록 하자.

 

 

map의 1차원적인 구조는 key, value로 이루어진다.

 

final Map<String, String> map = {"key01":"data01"};

위 코드를 표로 표현하면 아래와 같이 된다.

key value
key01 data01

 

이런 map 데이터가 List로 이루어지면..

 

final List<Map<String,String>> l_map = [{"key01":"data01"}, {"key02":"data02"}, ...];

 

key value
key01 data01
key02 data02
... ...

이렇게 늘어나게된다.

 

여기서 List.map을 사용할 경우

final List<Map<String,String>> l_map = [{"key01":"data01"}, {"key02":"data02"}, ...];

l_map.map((event)=>...)

map 내부의 event에는 List의 map들이 순차적으로 들어가게된다.

즉, for - in (혹은 foreach)로 생각해도 되겠다.

보다시피 map((e)=>...)의 e에는 각 Map이 한번씩 읽혀, String 타입의 m에 순차적으로 저장된 것을 볼 수 있다.

 

 

여기까지 이해가 됐다면 map을 중첩해서 사용해, 단순한 1개의 Map을 받아와서 원하는 value를 받아올 수 있을것이라는 것을 짐작할 수 있다. 그것을 숙달하는 것은 본인의 몫.

 

이해가 되지 않는다면 위의 코드를 참고해서 직접 사용해보도록 하자. 어렵지 않게 이해할 수 있을것이다.

반응형

댓글