Flutter/Dart - 리스트 최대값, 최소값 찾기

리스트의 요소들 중에 최대 값, 최소 값을 찾는 방법에 대해서 소개합니다.

1. for문을 이용한 방법

아래와 같이 for문으로 모든 요소를 순회하면서, 직접 최소 값과 최대 값을 찾을 수 있습니다.

void main() {

    List<int> list = [11, 32, 12, 66, 2];

    int min = list[0];
    int max = list[0];
    for (var element in list) {
        if (element < min) {
            min = element;
        }
        if (element > max) {
            max = element;
        }
    }

    print(min);
    print(max);
}

Output:

2
66

2. reduce()를 이용한 방법

reduce(function)은 리스트의 요소들에 대해서 function을 실행하고, 1개의 결과 값을 리턴합니다.

아래 예제에서 reduce()의 함수로 전달되는 값은 아래와 같은 방식으로 전달됩니다. 마지막 요소까지 연산하고 그 결과가 리턴됩니다.

  1. (current: 11, next: 32)
  2. (current: 1의 리턴 값, next: 12)
  3. (current: 2의 리턴 값, next: 66)
void main() {

    List<int> list = [11, 32, 12, 66, 2];

    int min = list.reduce((current, next) => current < next ? current : next);
    int max = list.reduce((current, next) => current > next ? current : next);

    print(min);
    print(max);
}

Output:

2
66

3. sort()를 이용한 방법

sort()는 리스트를 오름차순으로 정렬합니다.

오름차순으로 정렬된 리스트에서 가장 첫번째 요소는 최소 값이고, 마지막 요소는 최대 값이 됩니다.

void main() {

    List<int> list = [11, 32, 12, 66, 2];

    list.sort();
    int min = list.first;
    int max = list.last;

    print(min);
    print(max);
}

Output:

2
66
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha