Dart의 Collection : List, Map, Set

지인·2024년 11월 15일

Flutter와 Dart

목록 보기
2/2

Collections

List

  • 배열 같은 느낌
  • 파이썬의 list, c++의 vector와 유사
  • List ListName = [value] 형식으로 생성

사용법

void main(){
	List<String> lst = ["영", "일", "이", "삼", "사", "오"];
  print(lst[2]);
  print(lst[4]);
  print(lst[5]);
}
>>>>>>>>>

Method

  • 추가
    • add(val) : 리스트 맨 뒤에 val값 추가
    • addAll(lst) : lst의 모든 요소를 현재 리스트 맨 뒤에 추가
  • 삽입
    • insert(idx, val) : idx 위치에 val값 삽입
    • insertAll(idx, lst) : lst의 모든 요소를 idx 위치에 삽입
  • 삭제
    • remove(val) : 값이 val인 첫 번째 요소 삭제
    • removeAt(idx) : idx 위치 요소 삭제
    • removeLast() : 마지막 요소 삭제
    • removeWhere(조건) : 조건에 맞는 요소 삭제
    • removeRange(s, e) : s번째부터 e번째 인덱스까지의 요소들 삭제
    • clear() : 모든 요소 삭제
    • retain(조건) : 조건에 맞는 요소를 제외한 모든 요소 삭제
  • 정렬
    • sort() : 정렬
    • sublist(s, e) : s번째부터 e-1 번째 idx까지의 요소로 이루어진 부분 리스트 반환
    • asMap() : Map 자료형으로 변환하여 반환 (key = idx, value = List[idx])
  • 변환과 반복
  • 기타
    • toList(iterable) : iterable을 리스트로 변환
    • join(String) : 요소들을 String을 사이에 두고 연결
    • getRange(s, e) : s~e-1까지의 요소들을 iterable로 반환

Properties

  • length : 요소 개수 반
  • first : 첫 번째 요소 반환
  • last : 마지막 요소 반환
  • isEmpty : 비어있는지 여부 반환

Map

  • key와 value로 구성
  • 파이썬의 dict, c++의 map과 유사
  • Map<KeyType, ValueType> MapName = {key : value} 형식으로 생성
  • MapName[key]로 접근

사용법

void main(){
	Map<String, String> dict = {
		"Harry Potter" : "해리포터",
		"Sherlock Holmes" : "셜록 홈즈"
	};
	print(dict["Harry Potter"]);
}
>>> 해리포터

Method

  • 추가
    • addAll(map2) : map2에 있는 모든 요소를 map1에 추가 및 수정
  • 삭제
    • remove(key) : key에 해당하는 요소 삭제
    • clear() : 모든 요소 삭제
  • 확인
    • containsKey(key) : 해당 key를 가진 원소가 있는지 여부 반환
    • containsValue(value) : 해당 value를 가진 원소가 있는지 여부 반환

Properties

  • length : 요소 개수 반환
  • keys : key를 iterable로 반환
  • values : value를 iterable로 반환
  • isEmpty : 비어있는지 반환

Set

  • 중복 없는 값들의 집합
  • 파이썬, c++의 set과 유사
  • Set SetName = {value}형식으로 생성
  • operator[ ]로 값을 호출할 수 없

사용

void main(){
	Set<String> set_ = {"영", "영", "이", "이", "사", "사"};
  print(set_);
}
>>> {,,}

Method

  • 추가
    • add(value) : value값 요소 추가
    • addAll(Iterable) : iterable에 있는 모든 요소 추가
  • 삭제
    • remove(value) : value에 해당하는 요소 삭제
    • clear() : 모든 요소 삭제
  • 기타
    • contains(value) : value값을 가진 요소 있는지 여부 반환
    • containsAll(Iterable) : Iterable의 모든 요소 포함하는지 여부 반환
    • union(otherSet) : otherSet과 합쳐 새로운 Set 객체 반환

Properties

  • length : 요소 개수 반환
  • iterator : iterator 타입으로 반환
  • first : 첫번째 원소 반환 ([]연산자를 이용해 호출되진 않는데 첫번째 원소를 반환시키는 방법은 있다는 게 흥미로움)
  • last : 마지막 원소 반환
profile
중요한건 꺾여도 그냥 하는 마음

0개의 댓글