📌  相关文章
📜  Dart – 在列表中查找最小值和最大值(1)

📅  最后修改于: 2023-12-03 14:40:36.424000             🧑  作者: Mango

Dart – 在列表中查找最小值和最大值

在Dart编程语言中,有多种方法可以找到列表中的最小值和最大值。本文将介绍其中两种方法,一种是使用内置函数,另一种是手动迭代列表。无论使用哪种方法,您都可以在列表中找到最小值和最大值。

使用内置函数

Dart中的内置函数可以很好地处理列表并返回最小值和最大值。以下是如何使用内置函数来查找列表中的最小值和最大值:

void main() {
  List<int> numbers = [10, 3, 4, 7, 1, 5];
  
  int minNumber = numbers.reduce((value, element) => value < element ? value : element);
  int maxNumber = numbers.reduce((value, element) => value > element ? value : element);
  
  print("The minimum number is $minNumber");
  print("The maximum number is $maxNumber");
}

输出:

The minimum number is 1
The maximum number is 10

这里,我们使用了Dart中的 reduce() 方法。它将输入列表中的所有元素组合到一起,应用给定的函数,并返回单个结果。

在这种情况下,我们使用lambda表达式来比较值并找到最小值和最大值。如果当前值小于下一个值,则返回当前值,否则返回下一个值。使用这种比较方式,我们可以很方便地找到最小值和最大值。

手动迭代列表

另一种方法是手动迭代列表并查找最小值和最大值。虽然这种方法需要更多的代码,但它也可以很好地工作。

void main() {
  List<int> numbers = [10, 3, 4, 7, 1, 5];
  
  int minNumber = numbers[0];
  int maxNumber = numbers[0];
  
  for (int i = 1; i < numbers.length; i++) {
    if (numbers[i] < minNumber) {
      minNumber = numbers[i];
    }
    if (numbers[i] > maxNumber) {
      maxNumber = numbers[i];
    } 
  }
  
  print("The minimum number is $minNumber");
  print("The maximum number is $maxNumber");
}

输出:

The minimum number is 1
The maximum number is 10

在此示例中,我们手动迭代了列表。我们首先将最小值和最大值设置为列表中的第一个元素。然后我们遍历列表的其余元素并比较它们以查找最小值和最大值。

两种方法都可以实现在Dart列表中查找最小值和最大值的目标。我们可以根据实际情况选择合适的方法。