일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- Yocto
- map
- 클래스
- variable
- Collection
- 다트
- List
- animation
- kotlin
- 코틀린
- function
- 웹크롤러
- pushnamed
- Android
- 플러터
- DART
- 크롤러
- textstyle
- crawler
- 파이썬
- set
- python
- text
- 콜렉션
- import
- ML
- 함수
- Class
- Flutter
- package
- Today
- Total
조용한 담장
Dart : Collections 본문
Dart 의 collections 자료형 클래스인 List, Set, Map 을 살펴보자.
List
List 는 두가지 타입이 있다.
-
길이 고정된 리스트 : 리스트의 길이를 변경하는 동작에 에러를 발생시킨다. new List(n), List(n)
-
길이 증가 가능한 리스트. List(), []
Constructors
List([int length ])
: length 길이의 null 로 채워진 리스트를 생성한다.
List.filled(int length, E fill, { bool growable: false })
: 각 element 가 fill 값을 length 길이의 리스트를 생성한다.
List.from(Iterable elements, { bool growable: true })
: elements 를 가진 리스트를 생성한다. subtype 으로 down-cast 가 가능하다.
List.generate(int length, E generator(int index), { bool growable: true })
: generator 가 생성하는 값을 가진 length 길이의 리스트를 생성한다.
List.of(Iterable<E> elements, { bool growable: true })
: elements 로 부터 리스트를 생성한다. 내부적으로 List.from 을 쓰지만 down-cast 는 불가능하다.
List.unmodifiable(Iterable elements)
: 값을 수정할 수 없는 리스트를 생성한다.
DartPad 는 javascript 로 변환되어 실행해서 소수점에 대한 값이 좀 다르게 나온다.
Operators
+, ==, [], []=
Static methods
castFrom<S, T>(List<S> source)
copyRange<T>(List<T> target, [ int at, List<T> source, [ int start int end ])
writeIterable<T>(List<T> target, int at, Iterable<T> source)
Set
element object 가 하나만 존재할 수 있고 동시에 존재할 수 없다.
Set 의 기본 구현은 LinkedHashSet 이다.
== operator 에 의해 유일한 element 인지 확인된다.
element 을 접근할 때 순서에 따라 아래처럼 구분된다.
-
A HashSet is unordered, which means that its iteration order is unspecified,
-
LinkedHashSet iterates in the insertion order of its elements, and
-
a sorted set like SplayTreeSet iterates the elements in sorted order.
Constructors
Set()
: 비어있는 LinkedHashSet 를 생성한다.
Set.from(Iterable elements)
: elements 를 가진 LinkedHashSet 를 생성한다. subtype 으로 down-cast 가 가능하다.
: 비어있는 identity LinkedHashSet 를 생성한다.
Set.of(Iterable<E> elements)
: elements 로 부터 LinkedHashSet 를 생성한다.
Operators
==
Static methods
castFrom<S, T>(Set<S> source, { Set<R> newSet() })
Map
element 을 접근할 때 순서에 따라 아래처럼 구분된다.
-
The plain HashMap is unordered (no order is guaranteed),
-
the LinkedHashMap iterates in key insertion order,
-
and a sorted map like SplayTreeMap iterates the keys in sorted order.
Constructors
Map()
: 비어있는 LinkedHashMap 을 만든다.
Map.from(Map other)
: 다른 Map 으로 부터 LinkedHashMap 을 만든다.
Map.fromEntries(Iterable<MapEntry<K, V>> entries)
: Map 을 만들고 모든 MapEntry 를 추가한다.
Map.fromIterable(Iterable iterable, { K key(dynamic element), V value(dynamic element) })
: iterable 로 부터 LinkedHashMap 을 만든다.
Map.fromIterables(Iterable<K> keys, Iterable<V> values)
: keys 와 values 로 LinkedHashMap 을 만든다.
: identity map (기본 LinkedHashMap) 을 만든다.
: other 가 가진 key, value 값들로 LinkedHashMap 을 만든다.
Map.unmodifiable(Map other)
: 값을 수정할 수 없는 Map 을 other 로 부터 만든다.
Operators
[], []=, ==
Static methods
castFrom<K, V, K2, V2>(Map<K, V> source)
Reference
Dart API reference documentation
'Dart' 카테고리의 다른 글
Dart : Generators (0) | 2019.11.22 |
---|---|
Dart : Generics (0) | 2019.11.22 |
Dart : print (0) | 2019.11.04 |
Dart : Asynchronous programming (0) | 2019.10.24 |
Dart : Class (0) | 2019.10.02 |