코드팩토리의 플러터 프로그래밍 2판 책을 참고하여 공부용으로 작성한 게시글입니다.
📌 List
- 순서를 기억한다.
- 첫원소는 0, 마지막 원소는 -1로 지정한다.
- 리스트에 넣을 타입을 <> 사이에 명시한다.
- 컬렉션 타입이다. 컬렉션 타입은 서로의 타입으로 자유롭게 형변환이 가능하다.
//데이터 저장
List<String> myList = ['리사', '지수', '제니', '로제'];
//값 조회
myList[0]
myList[-1]
//길이 조회
myList.length
//값 추가
myList.add('나나');
//특정 조건에 맞는 값만 필터링 .where(함수)
final newList1 = myList.where(
(name) => name == '리사' || name == '지수', //리사 또는 지수 만 유지
);
//순회하며 값 변경
final newList2 = myList.map(
(name) => '블랙핑크 $name',
);
//순회하며 값 쌓아간다 (reduce - list 항목과 같은 타입 반환)
final newList3 = myList.reduce((pre, next) => pre + ',', + next);
//순회하며 값을 쌓아간다. (fold - list 항목과 타입이 달라도 된다.)
final newList4 = myList.fold<int>(0,(pre, next) => pre + next.length);
.length
- 리스트의 길이 반환
.where((value)=> 조건식(true or false)) 함수
- 조건에 맞는 값만 필터링해서 Iterable 객체로 반환
- 매개변수로 리스트의 값을 하나씩 받아 순회.
- 조건식에서 true를 반환하면 값 유지, false를 반환하면 값을 버린다.
- 순회가 끝나면 유지된 값들을 기반으로 Iterable 반환
.map((value) => 대체할값) 함수
- 리스트에 있는 값들을 순서대로 순회하면서 반환하는 값이 현잿값을 대체
- 순회가 끝나면 Iterable 반환
.reduce((pre, next) => 반환값 ) 함수
- 리스트 내부 항목을 점차 더해가는 기능으로 사용된다.
- 두개의 매개변수를 갖는다. 첫번째 순회와 이후 순회에 전달되는 매개변수가 다르다.
- 첫번째 순회: (첫번째 리스트값, 두번째 리스트값) => 첫번째 순회 반환값
- 두번째 순회: (첫번째 순회 반환값, 세번째 리스트 값) => 두번째 순회 반환값
- ❗️반환값 타입이 리스트 항목과 같아야 한다.
- 전체를 출력하고 싶을 때 사용
.fold<타입>(시작할 값, (pre, next) => 반환값) 함수
- reduce() 함수와 동일 기능
- ❗️어떤 타입이든 반환가능하다.
- reduce와의 차이점은 첫번째 순회할때 pre변수의 값을 첫번째 매개변수로 지정한다.
- <타입> : 반환값의 타입을 지정한다.
- 시작할 값, pre, 반환값의 타입이 모두 동일해야한다.
- 전체 항목을 집계하고 싶을 때 사용
* Iterable .toList()는 Iterable형을 List로 변환한다.
#코드팩토리의플러터프로그래밍2판 #공부용
'◼️Flutter' 카테고리의 다른 글
[Flutter Dart] 컬렉션 Set (0) | 2025.01.25 |
---|---|
[Flutter Dart] 컬렉션 Map (0) | 2025.01.25 |
[Flutter Dart] 변수타입 (String, int, double, bool) (0) | 2025.01.25 |
[Flutter Dart] const/final 키워드 (0) | 2025.01.25 |
[Flutter Dart] dynamic 선언 (0) | 2025.01.25 |