[Dart] List method ์ •๋ฆฌ

GONGยท2023๋…„ 8์›” 17์ผ

Flutter

๋ชฉ๋ก ๋ณด๊ธฐ
5/5
post-thumbnail

dart์˜ list method๋“ค์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค

1. ์š”์†Œ ์‚ฝ์ž…

1-1. add(), addAll()

  • add(): ๋ฆฌ์ŠคํŠธ์— ์š”์†Œ ์ถ”๊ฐ€
    List<int> numbers = [1, 2, 3];
      
    // ์š”์†Œ ์ถ”๊ฐ€
    numbers.add(4);
    
    print(numbers); // [1, 2, 3, 4]
  • addAll(): ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋“ค์„ ํ˜„์žฌ ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€
    List<int> numbers = [1, 2, 3];
    List<int> moreNumbers = [4, 5, 6];
    
    // ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์˜ ๋ชจ๋“  ์š”์†Œ ์ถ”๊ฐ€
    numbers.addAll(moreNumbers);
    
    print(numbers); // [1, 2, 3, 4, 5, 6]

1-2. insert(), insertAll()

  • insert(): ํŠน์ • ์œ„์น˜์— ์š”์†Œ ์‚ฝ์ž…
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ์ธ๋ฑ์Šค 2์— ์š”์†Œ 10์„ ์‚ฝ์ž…
    numbers.insert(2, 10);
    
    print(numbers); // [1, 2, 10, 3, 4, 5]
  • insertAll(): ํŠน์ • ์œ„์น˜์— ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋“ค์„ ์‚ฝ์ž…
    List<int> numbers = [1, 2, 3, 4, 5];
    List<int> moreNumbers = [10, 11, 12];
    
    // ์ธ๋ฑ์Šค 2์— ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์‚ฝ์ž…
    numbers.insertAll(2, moreNumbers);
    
    print(numbers); // [1, 2, 10, 11, 12, 3, 4, 5]


2. ์š”์†Œ ์‚ญ์ œ

2-1. remove(), removeAt(), removeLast(), removeWhere(), removeRange()

  • remove(): ํŠน์ • ์š”์†Œ ์‚ญ์ œ
    List<int> numbers = [1, 2, 3, 4, 3, 5];
      
    // ๊ฐ’์ด 3์ธ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ ์‚ญ์ œ
    numbers.remove(3);
    
    print(numbers); // [1, 2, 4, 3, 5]
  • removeAt(): ์ธ๋ฑ์Šค๋กœ ์š”์†Œ ์‚ญ์ œ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ์ธ๋ฑ์Šค 2์— ์žˆ๋Š” ์š”์†Œ ์‚ญ์ œ (๊ฐ’: 3)
    numbers.removeAt(2);
    
    print(numbers); // [1, 2, 4, 5]
  • removeLast(): ๋งˆ์ง€๋ง‰ ์š”์†Œ ์‚ญ์ œ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ๋งˆ์ง€๋ง‰ ์š”์†Œ ์‚ญ์ œ (๊ฐ’: 5)
    numbers.removeLast();
    
    print(numbers); // [1, 2, 3, 4]
  • removeWhere(): ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ ์‚ญ์ œ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ๊ฐ’์ด ์ง์ˆ˜์ธ ์š”์†Œ ์‚ญ์ œ
    numbers.removeWhere((number) => number % 2 == 0);
    
    print(numbers); // [1, 3, 5]
  • removeRange(): ๋ฒ”์œ„ ๋‚ด์˜ ์š”์†Œ๋“ค ์‚ญ์ œ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ 3๊นŒ์ง€์˜ ์š”์†Œ ์‚ญ์ œ (2, 3, 4)
    numbers.removeRange(1, 4);
    
    print(numbers); // [1, 5]

2-2. clear(), retainWhere()

  • clear(): ๋ฆฌ์ŠคํŠธ ๋ชจ๋“  ์š”์†Œ ์‚ญ์ œ
    List<int> numbers = [1, 2, 3, 4, 5];
    
    // ๋ชจ๋“  ์š”์†Œ ์‚ญ์ œ
    numbers.clear();
    
    print(numbers); // []
  • retainWhere(): ์กฐ๊ฑด์— ๋งž๋Š” ์š”์†Œ๋งŒ ๋‚จ๊ธฐ๊ณ  ๋‚˜๋จธ์ง€ ์š”์†Œ ์‚ญ์ œ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ์ง์ˆ˜์ธ ์š”์†Œ๋งŒ ๋‚จ๊ธฐ๊ณ  ํ™€์ˆ˜์ธ ์š”์†Œ ์‚ญ์ œ
    numbers.retainWhere((number) => number % 2 == 0);
    
    print(numbers); // [2, 4]


3. ์ •๋ ฌ๊ณผ ๋ณ€ํ™˜

3-1. sort(), shuffle()

  • sort(): ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ
    List<int> numbers = [5, 2, 8, 1, 3, 7, 4, 6];
      
    // ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์š”์†Œ ์ •๋ ฌ
    numbers.sort();
    
    print(numbers); // [1, 2, 3, 4, 5, 6, 7, 8]
      
    // ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์š”์†Œ๋ฅผ ์ •๋ ฌํ•˜๋ ค๋ฉด ๋น„๊ต ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•จ
    numbers.sort((a, b) => b.compareTo(a));
    
    print(numbers); // [8, 7, 6, 5, 4, 3, 2, 1]
  • shuffle(): ๋ฆฌ์ŠคํŠธ ์š”์†Œ ์„ž๊ธฐ
    List<int> numbers = [1, 2, 3, 4, 5, 6, 7, 8];
      
    // ์š”์†Œ ์„ž๊ธฐ
    numbers.shuffle();
    
    print(numbers); // [7, 1, 8, 6, 2, 4, 3, 5]

3-2. sublist(), asMap()

  • sublist(): ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
    List<int> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
      
    // ์ธ๋ฑ์Šค 2๋ถ€ํ„ฐ 5๊นŒ์ง€์˜ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ถ€๋ถ„ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
    List<int> subNumbers = numbers.sublist(2, 6);
    
    print(subNumbers); // [3, 4, 5, 6]
  • asMap(): ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งต์œผ๋กœ ๋ณ€ํ™˜
    List<String> fruits = ['apple', 'banana', 'orange', 'grape'];
      
    // ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งต์œผ๋กœ ๋ณ€ํ™˜
    Map<int, String> fruitMap = fruits.asMap();
    
    print(fruitMap); // {0: 'apple', 1: 'banana', 2: 'orange', 3: 'grape'}


4. ๊ฒ€์ƒ‰๊ณผ ๋ณ€๊ฒฝ

4-1. indexOf(), lastIndexOf()

  • indexOf(): ์š”์†Œ์˜ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ
    List<String> fruits = ['apple', 'banana', 'orange', 'apple', 'grape'];
      
    // 'apple'์˜ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ
    int firstIndex = fruits.indexOf('apple');
    
    print(firstIndex); // 0, ๋ฆฌ์ŠคํŠธ์— ์š”์†Œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1 ๋ฐ˜ํ™˜
  • lastIndexOf(): ์š”์†Œ์˜ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ
    List<String> fruits = ['apple', 'banana', 'orange', 'apple', 'grape'];
      
    // 'apple'์˜ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ
    int lastIndex = fruits.lastIndexOf('apple');
    
    print(lastIndex); // 3

4-2. setAll(), replaceRange()

  • setAll(): ํŠน์ • ์œ„์น˜์˜ ์š”์†Œ๋ฅผ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ 3๊นŒ์ง€์˜ ์š”์†Œ๋ฅผ 10์œผ๋กœ ๋ณ€๊ฒฝ
    numbers.setAll(1, [10, 10, 10]);
    
    print(numbers); // [1, 10, 10, 10, 5]
  • replaceRange(): ๋ฒ”์œ„ ๋‚ด์˜ ์š”์†Œ๋“ค์„ ๋‹ค๋ฅธ ์š”์†Œ๋“ค๋กœ ๋Œ€์ฒด
    List<int> numbers = [1, 2, 3, 4, 5];
    
    // ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ 3๊นŒ์ง€์˜ ์š”์†Œ๋ฅผ [10, 11, 12]๋กœ ๋Œ€์ฒด
    numbers.replaceRange(1, 4, [10, 11, 12]);
    
    print(numbers); // [1, 10, 11, 12, 5]


5. ์กฐ๊ฑด ๊ฒ€์‚ฌ

5-1. every(), any()

  • every(): ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ
    List<int> numbers = [2, 4, 6, 8, 10];
      
    // ๋ชจ๋“  ์š”์†Œ๊ฐ€ ์ง์ˆ˜์ธ์ง€ ํ™•์ธ
    bool allEven = numbers.every((number) => number % 2 == 0);
    
    print(allEven); // true
  • any(): ์–ด๋–ค ์š”์†Œ๊ฐ€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ
    List<int> numbers = [2, 4, 6, 8, 10, 15];
      
    // ์–ด๋–ค ์š”์†Œ๋ผ๋„ ํ™€์ˆ˜์ธ์ง€ ํ™•์ธ
    bool anyOdd = numbers.any((number) => number % 2 != 0);
    
    print(anyOdd); // true


6. ๋ณ€ํ™˜๊ณผ ๋ฐ˜๋ณต

6-1. map(), forEach()

  • map(): ์š”์†Œ๋ฅผ ๋ณ€ํ™˜ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ๋ชจ๋“  ์š”์†Œ๋ฅผ 2๋ฐฐ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
    List<int> doubledNumbers = numbers.map((number) => number * 2).toList();
    
    print(doubledNumbers); // [2, 4, 6, 8, 10]
  • forEach(): ๋ชจ๋“  ์š”์†Œ์— ๋Œ€ํ•ด ํ•จ์ˆ˜ ์‹คํ–‰
    List<String> fruits = ['apple', 'banana', 'orange'];
      
    // ๊ฐ ์š”์†Œ๋ฅผ ์ถœ๋ ฅ
    fruits.forEach((fruit) {
      print(fruit);
    });
    
    // apple 
    // banana 
    // orange

6-2. reduce(), fold()

  • reduce(): ์š”์†Œ๋“ค์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹จ์ผ ๊ฐ’์„ ์ƒ์„ฑ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋”ํ•˜์—ฌ ๋‹จ์ผ ๊ฐ’์„ ์ƒ์„ฑ
    int sum = numbers.reduce((value, element) => value + element);
    
    print(sum); // 15
  • fold(): ์ดˆ๊ธฐ๊ฐ’๊ณผ ํ•จ๊ป˜ ์š”์†Œ๋“ค์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋‹จ์ผ ๊ฐ’์„ ์ƒ์„ฑ
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ์ดˆ๊ธฐ๊ฐ’ 0๊ณผ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋”ํ•˜์—ฌ ๋‹จ์ผ ๊ฐ’์„ ์ƒ์„ฑ
    int sum = numbers.fold(0, (value, element) => value + element);
    
    print(sum); // 15


7. ๊ธฐํƒ€

toList(), join(), getRange(), length

  • toList(): Iterable์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜
    Set<int> numberSet = {1, 2, 3, 4, 5};
      
    // Set์„ ๋ฆฌ์ŠคํŠธ๋กœ ๋ณ€ํ™˜
    List<int> numberList = numberSet.toList();
    
    print(numberList); // [1, 2, 3, 4, 5]
  • join(): ์š”์†Œ๋“ค์„ ๋ฌธ์ž์—ด๋กœ ์—ฐ๊ฒฐ
    List<String> words = ['Hello', 'world', 'Dart'];
      
    // ๋ฆฌ์ŠคํŠธ์˜ ์š”์†Œ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฌธ์ž์—ด ์ƒ์„ฑ
    String sentence = words.join(' ');
    
    print(sentence); // 'Hello world Dart'
  • getRange(): ๋ฒ”์œ„ ๋‚ด์˜ ์š”์†Œ๋“ค์„ ๊ฐ€์ ธ์˜ค๊ธฐ
    List<int> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
      
    // ์ธ๋ฑ์Šค 2๋ถ€ํ„ฐ 5๊นŒ์ง€์˜ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
    List<int> range = numbers.getRange(2, 6).toList();
    
    print(range); // [3, 4, 5, 6]
  • length (์†์„ฑ): ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด(์š”์†Œ ๊ฐœ์ˆ˜) ๋ฐ˜ํ™˜
    List<int> numbers = [1, 2, 3, 4, 5];
      
    // ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด ์ถœ๋ ฅ
    print(numbers.length); // 5

๋ฆฌ์ŠคํŠธ๋งŒ ๋‚˜์˜ค๋ฉด ๋ฐ˜๋ณต๋ฌธ๋ถ€ํ„ฐ ๋Œ๋ฆฌ๊ธฐ ์‹œ์ž‘ํ•˜๋˜ ๊ณผ๊ฑฐ์˜ ๋‚˜๋ฅผ ์ฃผ๋จน์œผ๋กœ ๋‚ด๋ฆฌ์น˜๋ฉฐ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค...
์•ž์œผ๋กœ๋Š”,,, ๊น”๋”ํ•˜๊ฒŒ ์งœ์•ผ์ฅ

profile
์šฐ์™€์žฌ๋ฐ‹๋‹ค

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2023๋…„ 8์›” 17์ผ

์œ ์ตํ•œ ๊ธ€์ด์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ