Flutter & Dart

Dart 컬렉션 타입 (List, Set, Map)

까칠코더 2023. 11. 16. 14:29
반응형

여러가지 값을 저장하는 컬력션 타입에는 List, Set, Map등을 제공합니다.

  • List

데이터 타입을 따로 선언하지 않은 경우에 dynamic 타입으로 모든 데이터를 저장할 수 있습니다.

// [int, String, bool] type
List list = [10, 'zzz', true];
// [String, String, bool] type
list[0] = 'abc';

타입을 지정한 경우에는 해당 타입의 데이터만 저장할 수 있습니다.

List<int> list = [10, 20, 30];
list[0] = 15;

List 생성시 크기 지정할때 filled() 사용합니다

var list = List<int>.filled(5, 0);
print(list); //[0, 0, 0, 0, 0]

List 생성시 크기 지정하는데 처음 지정한 크기보다 더 많은 데이터 저장하기 위해서는 filled()의 인자에 growable = true 사용합니다

var list = List<int>.filled(5, 0, grawable: true);
print(list); //[0, 0, 0, 0, 0]
list.add(6);
print(list); //[0, 0, 0, 0, 0, 6]

List  생성시 특정 동작을 처리할때에는 generate()를 사용합니다. (두번째 인자는 동작을 처리할 함수)

var list = List<int>.generate(4, (int index) => index * 2);
print(list); // [0, 2, 4, 6]
  • Set

List와 유사하지만 중복데이터를 허용하지 않습니다.

Set<int> set = {10, 20, 30};
set.add(30);
print(set); // {10, 20, 30}
  • Map

Key / Value 형태로 저장합니다(다른 개발언어에서는 Dictionary 타입으로 사용되기도 합니다)

Map<String, int> map = {'age' = 10, 'year' = 1900 };
반응형