List는 다른 프로그래밍 언어에서도 많이 사용하는 자료구조이다.
Flutter를 공부하면서 Dart의 List에 대해서 공부해보았다.
Row와 Column은 자식을 여러명 가질 수 있다.
따라서, 아래와 같은 형식으로 List 속에 다양한 Widget을 넣어서 Row로 표현할 수 있다.
Row(
children: []
)
children의 Info를 드래그해서 보면, {List<Widget> children = const <Widget>[]}라고 적혀 있다.
여기서 children에는 List의 형태가 오고 그 List의 요소들은 Widget의 형태여야 하는구나라고 이해할 수 있다.
아래와 같이 List를 하나 선언하고 Info를 드래그해서 찾아보았다.
List myList = [];
List<dynamic> myList List 요소들의 데이터 타입은 Dynamic이다.
Dynamic은 데이터 타입이 따로 정해지지 않았다는 의미이다.
String을 넣어도, Int을 넣어도 아무런 에러가 뜨지 않는다.
여기서 "내가 작성한 List에는 String만 오게 하고 싶어. 다른 데이터 타입이 오면 Error가 나게할 수 있는 방법은 없을까?"라는 생각이 든다면, 아래와 같이 내가 원하는 데이터 타입을 List<"데이터 타입">으로 작성해 List를 선언하면 된다.
List<String> myList = ["채원"];
List에 요소 추가하기
내 친구 이름을 List에 담아 친구 목록을 만든다고 생각한다면, 새로운 친구가 추가된 경우 내 친구목록에 넣어야 한다.
List<String> myFriends = ['채원', '태리', '승현', '주희'];
myFriends.add('나은'); // 친구 추가
이처럼 add를 이용해서 원하는 요소를 List에 추가할 수 있다.
List에 원하는 위치에 요소 추가하기
친구 목록에 친구를 추가하는데, 이번에는 새친구가 아니라 오랜만에 만난 친구라고 생각하자.
오래된 친구들 순서로 친구 목록에 저장했는데, 이 친구를 원하는 List의 index에 넣고 싶다.
이런 경우에는 Insert를 사용하면된다.
myFriends.insert(1, '유진') // index 1에 유진이 넣기
반응형