day_by_day

5. List 본문

QA Automation/dart

5. List

kokorii_ 2023. 5. 15. 23:36

1. 선언과 인덱스 사용

- Generic에 지정한 타입만 element로 가질 수 있음

- 인덱스를 통해 element 접근

 

void main(){

 List<String> blackPink = ['제니', '지수', '로제', '리사'];

  List<int> numbers= [1,2,3,4,5,6];

  print(blackPink);
  print(numbers);
  
  
  print(blackPink[0]);
  print(blackPink[1]);
  
}

  

2. List의 함수(메서드)

- length, add, remove, indexOf

  print(blackPink.length);

  blackPink.add('code factory');
  print(blackPink);

  blackPink.remove('code factory');
  print(blackPink);

  print(blackPink.indexOf('로제'));

 

3. forEach

- 함수를 파라미터로 받음

void main() {

  List<String> red = [ '아이린','슬기','웬디','조이','예리' ];

  red.forEach((value){

    print('${value}');

  });

  for(String value in red){

    print(value);

  }

 

4. Mapping과 arrow function

 final newList = red.map((value){
    return "my name is $value";
  });  

  print(newList);

  final list2 = red.map((value) => 'my name is $value');
  print("this is list2 ${list2}");

  

  

  5. Reduce/Fold와 arrow function

- Fold는 첫번째 인덱스를 파라미터로 받음

- Reduce는 인덱스 값은 파라미터로 받지 않으나, return 타입이 element 값과 같아야 함

- total2 와 total3의 값은 같음(arrow function)

  List<int> nums = [ 0,1,2,3,4,5 ];

  int total = nums.fold(0, (total, element){

    return total+element;

  });

  print(total);

  int total2 = nums.reduce((total, element){
    return total + element;
  });

  print(total2);

  int total3 = nums.reduce((total, element) => total + element);
  print(total3);

}

'QA Automation > dart' 카테고리의 다른 글

7. 함수(function)  (2) 2023.05.16
6. Map  (2) 2023.05.15
4. 열거형 Enum  (0) 2023.05.15
3. Set  (1) 2023.05.15
2. Loop  (1) 2023.05.15