1. 선언
- 크기 고정 [ Like array ] _ fixed length list
var newList = new List(10); // list의 크기 == 10
var newListFive = List<int>.filled(5, 0); // 0으로 초기화된 list의 크기 == 5
고정된 크기의 list 이므로, add, removeAt 이 불가능하다.
- 가변 리스트 _ growable list
var list1 = ['가', '나', '다']; // 값과 함께 리스트를 선언 및 초기화
var list2 = new List(); // 길이가 0인 리스트 선언 및 초기화
var list3 = new List.empty(growable: true); // 인자로 전달
var list4 = List<int>.filled(5, 0, growable: true);
2. 삽입
데이터 삽입하기 위해서는 add, addAll 메서드를 사용할 수 있다.
list1.add(5);
list1.addAll([1, 10, 100]);
- 특정 위치 데이터 삽입하기
insert(), insertAll() 메서드를 사용 하면 첫번째 인자 위치에 두번자 인자를 삽입한다.
my_list5.insert(3, 3);
my_list5.insertAll(1, [1, 2]);
3. 접근
리스트 접근하기
list명[인덱스] // 인덱스의 데이터 접근
list명.first // list의 0번째 데이터 접근
list명.last // list의 마지막 데이터 접근
4. 변경
list명[인덱스] = 값
list1[0] = '안녕하세요'; // 0번째 값이 '안녕하세요'로 변경됨
5. 삭제
remove(값); // 제일 먼저 나오는 값이 삭제됨
removeAt(index); // 2번째 인덱스 삭제됨
removeLast(); // 마지막 인덱스의 값(원소) 삭제됨
removeRange(삭제할 인덱스의 시작 위치, 삭제 할 인덱스의 바로 다음위치); // removeRange(2, 5) 라면 2, 3, 4 가 삭제된다.
// -> 즉 removeRange(a, b) a~b-1 의 값이 삭제된다.
clear(); // 리스트의 값(원소) 삭제 -> 빈배열, 길이 0, 초기화 상태
5. Etc.
- list 길이
리스트.length;
- list 데이터 찾기
리스트.contains(값); // 포함 되었다면 -> true 아니라면 -> false
list.indexOf(값); // 처음부터 데이터 찾기
list.lastIndexOf(값); // 마지막부터 데이터 찾기
그외, any(), every() 가 있는데, 클로저 개념이 있어 다음에 포스팅 하도록 하겠다...
isEmpty // 값이 비어있는지 return bool
isNotEmpty // 값이 비어있지 않는지 return bool
reversed // list 값을 뒤집어 반환 -> 첫번째 값이 마지막으로, 마지막 값이 처음으로
.toString() // String 타입으로 반환
.toSet() // set 으로 반환
.sort() // 정렬 - 기본적으로 오름차순으로 정렬된다. [정렬 클로저 함수를 사용할 수 있는데, 마찬가지로 다음에,,, ]
.shuffle() // 리스트를 무작위로 인덱스를 변경시킨다. 리스트자체를 변형시킨다.
.reduce() // 리스트 원소를 인자로 전달하는 클로저 함수를 사용하여 하나의 값으로 만든다.
forEach() // forEach는 forEach다
.join(구분자) // 구분자로 연결하여 문자열 반환 함수
.map() // 많이 쓰는 함수..! 따로 다루도록 하겠다.
'develop > Flutter' 카테고리의 다른 글
[Flutter] VSCode flutter 프로젝트 생성하기 (0) | 2022.10.29 |
---|---|
[Flutter] dart class 선언하기 & 생성자 (0) | 2022.10.27 |
[Flutter] markdown Viewer 만들기 (0) | 2022.10.25 |
[Flutter] Navigator.of(context) .push / .then 화면 전환 보낸 화면에서 데이터 받기 (0) | 2022.10.19 |
[Flutter] dart 출력 하기, 변수/상수 선언 하기 (dart 기초 1) (0) | 2022.10.13 |