minjeong-oh
기록
minjeong-oh
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • ML & Neural Net (3)
    • ◼️GNN (1)
    • ◼️시계열 (1)
    • ◼️추천시스템 (0)
    • ◼️수학 (3)
    • Data Engineer (2)
    • ◼️Spark (1)
    • ◼️Kafka (1)
    • ◼️Elestic Search (0)
    • ◼️Redis (0)
    • ◼️ClickHouse (1)
    • Programming Language (4)
    • ◼️React (0)
    • ◼️Git (1)
    • ◼️Python (1)
    • ◼️C++ (33)
    • ◼️Fortran 99 (2)
    • ◼️OpenGL (7)
    • ◼️MFC (35)
    • ◼️Flutter (46)
    • ◼️Kotlin (1)
    • ◼️Android (1)
    • ◼️Java (1)
    • ◼️C (4)
    • Development (0)
    • ◼️디자인패턴 (0)
    • ◼️네트워크 (2)
    • ◼️인증 (1)
    • Computer Science (4)
    • 알고리즘 문제풀이 (12)
    • SQL 고득점 Kit 문제풀이 (8)
    • 취업준비 (0)
    • Notion 정리 글 (1)
    • Article Scrap (12)
      • Careerly - Q&A (7)
      • Careerly - Post (2)
    • 기타 등등 (16)

블로그 메뉴

  • 글쓰기
  • 홈
  • 태그
  • 방명록
  • 편집

공지사항

인기 글

태그

  • GSLB
  • 인공지능개발자
  • hello테마
  • 그램풀스팩업그레이드
  • 이차원구조체배열포인터
  • mfc
  • 티스토리폰트배경색없애기
  • OpenGL회전
  • NextJSSwagger
  • kafka구축
  • 19년식그램SSD장착
  • 19년식그램램장착
  • 구조체배열포인터
  • 이것이C++이다책참고
  • 구조체매개변수
  • API문서정리
  • SpringBootSwagger
  • 그램업그레이드
  • AI배워야하나
  • 리눅스파티션

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
minjeong-oh

기록

◼️Flutter

[Flutter Dart] 컬렉션 List

2025. 1. 25. 07:26

코드팩토리의 플러터 프로그래밍 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

    티스토리툴바