프로그래밍/Dart

Dart Map과 Set

autostar 2023. 4. 18.
반응형

Map 타입

맵 타입은 키와 값의 짝으로 데이터를 저장합니다. 리스트는 순서대로 값을 저장하지만 맵은 순서를 보장하지 않습니다.(바뀔수 있음). 원하는 값을 정해진 키로 접근해 빠르게 값을 찾는데 중점을 둔다고 생각하면 됩니다.

 

void main(){
Map<String, String> myMap = {
// 맵 타입<키값의 타입, 값의 타입> 변수명 = {엘레먼트들}; 

'Write' : 'Hard',
'Study' : 'painful',
'Programing': 'Stressful',
};

print(myMap['Write']);
// 변수에 키 값을 대괄호 안에 넣어서 원하는 값을 접근
// 결과 Hard

print(myMap.keys);
// 결과 (Write, Study, Programing)
print(myMap.values);
// 결과 (Hard, painful, Stressful)

}

위와 같이 변수.keys 나 values 로 모든 값이나 키를 순회하는 방법도 있습니다.

 

Set 타입

리스트와 비슷하게 타입인자를 하나만 받지만 조금 다른 점이 있습니다.

값의 중복을 허용하지 않는 다는 점이 가장 큰 차이점이라고 볼 수 있겠고

(중복된 입력값은 제거됩니다.)

리스트는 대괄호 안에 값을 넣지만 Set 은 중괄호 안에 넣는 차이점이 있습니다.

 

https://stackoverflow.com/questions/66551586/what-the-different-between-lists-and-sets-in-dart-the-question-asked-before

 

what the different between lists and sets in dart ? . the question asked before but about java

I know some differences like list = [] ; set = {} set have different method like intersection() and others I forget them but what's the main different between them ?

stackoverflow.com

contains() 함수로 값이 있는지 없는지 확인도 가능합니다.

원한다면 toList()함수로 Set와 타입을 변환할수 있습니다.

맵에서 키와 값을 따로 만들어 받고 싶으면 .keys.toList(), .values.toList() 함수를 이용합니다.

 

Set.from() 을 사용하면 어떤 리스트든 Set 타입으로 변환할 수 있습니다. 이 경우 중복값은 제거됩니다.

 

반응형

'프로그래밍 > Dart' 카테고리의 다른 글

Dart 함수 형태  (0) 2023.04.19
Dart loop programming for 문 while 문  (0) 2023.04.19
Dart Nullable  (0) 2023.04.18
Dart List에 대해 그리고 함수들  (0) 2023.04.18
Dart 기초 문법  (0) 2023.04.18

댓글