develop/Flutter

[Flutter] dart List선언하기 하기 (dart 기초 2-1)

방뎁 2022. 10. 17. 18:06
반응형

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() // 많이 쓰는 함수..! 따로 다루도록 하겠다.
반응형