[Flutter/Dart] Collection 이란?

houndhollis·2023년 10월 31일
1

오늘은 기분좋은 화요일 입니다. 하루하루 출퇴근 지옥 이지만 요즘 벨로그에 내용 정리 하는거 나름 나쁘지 않아서 계속 하고 있는데 꾸준히 했으면 좋겠다..

Flutter Collection?

1.List
리스트 제네릭 안에 리스트 안에 어떤 타입의 변수들을 넣을 건지 설정가능 하다.

List<String> programmer = ['개발자1', '개발자2', '개발자3'];

print(programmer); // [개발자1, 개발자2, 개발자3]

만약 여기서 int Type 을 넣는다면 에러가 발생한다. 
반대로 int 제네릭에 String 넣어보기 

List<int> numbers = [1,2,3,4,5,'개발자']
말도 안되는 에러다.

간단한 조작 몇가지 해볼려고 한다.

List<String> programmer = ['개발자1', '개발자2', '개발자3']

print(programmer[0]); // 개발자1 이 소환되는 것을 볼수있다. 이런점은 JS랑 비슷하다 
print(programmer.length); // 3
그럼 추가는 어떻게 할까? javaScript 에서는 push 를 사용하였지만, 

programmer.add('개발자4'); 
print(programmer); // [개발자1, 개발자2, 개발자3, 개발자4] 

제거가 필요한 순간?

programmer.remove('개발자4'); 바로 사라진다.
print(programmer); // ['개발자1', '개발자2', '개발자3'];

찾고싶은 값의 인덱스 찾기 
print(programmer.indexOf('개발자3')); // 2 

2.Map
맵은 js 에서 객체와 같다 key, value 값으로 짝을 이룬다.

 Map<String, String> object = {
  'name1' : '김아무개',
  'name2' : '강아무개',
};
여기서 String 선언 해놓고 int 값을 넣는 사람은 없길 바란다.

print(object); // {name1: 김아무개, name2: 강아무개}

List 와 비슷하게 추가해 보도록 하자

 Map<String, bool> object2 = {
  '김아무개' : true,
  '박아무개' : false,
};

이번에는 String 이랑 bool 값이다.
object2.addAll({
  '강아무개' : true,
});

print(object2); // {김아무개 : true, 박아무개: false, 강아무개: true,}
->  추가가 가능 하지만 제네릭에 들어간 타입만 추가가능 다른 타입을 넣으면 에러다 

object2['감개무량개'] = true;
print(object2); // {김아무개: true, 박아무개: false, 강아무개: true, 감개무량개: true}
object2['감개무량개'] = false;
print(object2); //{김아무개: true, 박아무개: false, 강아무개: true, 감개무량개: false}

-> js 객체에서 추가해주는 거랑 같고 값 변경도 가능하다.

삭제도 가능하다 
object2.remove('감개무량개');
print(object2) // {김아무개 : true, 박아무개: false, 강아무개: true}

object2.keys, object2.values 로 key, value 값을 가져오는 것도 가능!

간단하게 Set 제외하고 List와 Map에 대해서 작성했다 내일은 Set 이랑 List 의 간단한 로직을 작성해 볼려고 한다. 그럼 내일도 화이팅!!

profile
한 줄 소개

0개의 댓글