티스토리 뷰

반응형
List

다수의 자료에 대한 처리 및 관리를 위한 Collection 클래스로 데이터의 순서가 존재하며 중복을 허용하는 클래스

 

List의 사용법
void main() {
  
  List<String> colors = ['빨','주','노','초','파','남','보'];
  
  // List에 하나만 추가하는 경우 add 메소드 사용
  colors.add('초');  
  print(colors); => [빨, 주, 노, 초, 파, 남, 보, 초]
  
  // List에 다수의 값을 추가하는 경우 addAll 메소드 사용
  colors.addAll(['노','검']);  
  print(colors); => [빨, 주, 노, 초, 파, 남, 보, 초, 노, 검]
  
  // List에 값으로 삭제하는 경우 remove 메소드 사용
  colors.remove('빨');  
  print(colors); => [주, 노, 초, 파, 남, 보, 초, 노, 검]
  
  // List에 위치로 삭제하는 경우 removeAt 메소드 사용
  colors.removeAt(1);  
  print(colors); => [주, 초, 파, 남, 보, 초, 노, 검]
  
  // List에 위치로 삭제하는 경우 removeAt 메소드 사용
  final colorsIndex = colors.indexOf('노');  
  print(colorsIndex); => 6
  
  // List에 모든 값을 제거하는 경우 clear 메소드 사용
  colors.clear();  
  print(colors); => []  
}

 

Set

List와 비슷하지만 Set은 데이터의 순서가 없고 중복을 허용하지 않는 클래스

List의 경우 초기 데이터 할당 시 []를 사용하지만 Set의 경우 {}을 사용한다.

 

Set의 사용법
void main() {
  
  Set<String> colors = {'빨','주','노','초','파','남','보'};
  
  // Set에 하나만 추가하는 경우 add 메소드 사용
  // 중복되는 값이 들어가는 경우 추가되지 않는다.
  colors.add('빨');  
  print(colors); => {빨, 주, 노, 초, 파, 남, 보}
  
  // Set에 다수의 값을 추가하는 경우 addAll 메소드 사용
  colors.addAll(['노','검']);
  print(colors); => {빨, 주, 노, 초, 파, 남, 보, 검}
  
  // Set에 값으로 삭제하는 경우 remove 메소드 사용
  colors.remove('빨');
  print(colors); => {주, 노, 초, 파, 남, 보, 검}
  
  // Set에 값이 존재하는지 확인이 필요한 경우 contains 메소드 사용
  // 값이 존재하는 경우 true, 존재하지 않는 경우 false
  var setContains = colors.contains('노');  
  print(setContains); => true
  setContains = colors.contains('연');  
  print(setContains); => false
   
  // Set에 모든 값을 제거하는 경우 clear 메소드 사용
  colors.clear();  
  print(colors); => {}
  
}

 

Map

Map의 경우 앞선 List, Set과는 다르게 Key, Value로 이루어져 Key 중복은 허용하지 않으나 Value 중복은 허용하는 클래스

 

Map의 사용법
void main() {
  
  Map<String, int> colors = {'빨': 1, '주': 2};
  
  // Map에 key value를 단건 추가하는 방법
  colors['노'] = 3;
  print(colors); => {빨: 1, 주: 2, 노: 3}
  
  // Map에 key value를 다건 추가하는 방법
  colors.addAll({'빨': 1, '초': 4, '파' : 5});
  print(colors); => {빨: 1, 주: 2, 노: 3, 초: 4, 파: 5}
  
  // Map에서 값을 삭제하기 위해서는 remove 메소드를 사용
  colors.remove('파');
  print(colors); => {빨: 1, 주: 2, 노: 3, 초: 4}
  
  // Map에서 Key 값이 존재하는지 확인하기 위해서는 containsKey 메소드 사용
  // 값이 존재하는 경우 true, 존재하지 않는 경우 false
  var colorsContains = colors.containsKey('빨');
  print(colorsContains); => true
  colorsContains = colors.containsKey('검');
  print(colorsContains); => false
  
  // Map에서 Value 값이 존재하는지 확인하기 위해서는 containsKey 메소드 사용
  // 값이 존재하는 경우 true, 존재하지 않는 경우 false
  colorsContains = colors.containsValue(2);
  print(colorsContains); => true
  colorsContains = colors.containsValue(7);
  print(colorsContains); => false
  
  // Map에 모든 값을 제거하는 경우 clear 메소드 사용
  colors.clear();  
  print(colors); => {}
  
}

 

이번 내용도 코딩셰프 님의 강좌를 보고 직접 실습한 내용을 작성하였습니다. 

감사합니다.

 

출처 및 참고 : https://youtu.be/MEAOFfkFEE0 플러터(Flutter) 조금 매운맛 강좌 10 | (dart)반복문(loop)과 로또 프로그램 part 2

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함