List 包含多个值,有时你需要从给定的列表中获得最小和最大的值。
让我们看看一些以不同方式找到最小和最大值的程序。
如何在Dart程序中找到一个数字列表的最大值和最小值?
- 使用Dart对列表进行排序并获得第一个和最后一个元素 在这个例子中,首先使用sort()方法对数字列表进行排序。这样就把列表中的数字按升序排序。
第一个元素是最小值,最后一个元素是最大值。下面是一个使用sort查找最小值和最大值的dart代码示例。
main() {
List numbers = [8, 1, 0, 2, 102, 5];
numbers.sort();
print(numbers); // [0, 1, 2, 5, 8, 102]
print(numbers[0]); //0
print(numbers[numbers.length - 1]); //102
}
列表中的reduce方法用于将项目的集合减少到一个单一的值,使用函数中的登录。
这里是一个语法:
reduce(combinedFunction)
组合函数持有当前值和下一个值,并将这些值与最小或最大逻辑进行比较,分配给当前值。
下面是一个例子程序
main() {
List numbers = [8, 1, 0, 2, 102, 5];
var maximumNumber =
numbers.reduce((value, element) => value > element ? value : element);
var minimumNumber =
numbers.reduce((value, element) => value < element ? value : element);
print(maximumNumber); // 102
print(minimumNumber); // 0
}
如何从一个对象的列表中获得最大和最小值
在这里,我们有一个雇员列表,每个雇员都有姓名和工资信息。
这个程序在dart和flutter编程中找到所有雇员的最低和最高工资。
class Employee {
final String name;
final int salary;
Employee(this.name, this.salary);
@override
String toString() {
return 'Employee: {name: ${name}, salary: ${salary}}';
}
}
final e1 = Employee('Erwin', 9000);
final e2 = Employee('Andrew', 70000);
final e3 = Employee('Mark', 8000);
final e4 = Employee('Otroc', 5000);
main() {
List employees = [e1, e2, e3, e4];
// Find Employee having minimum salary from all employees
Employee employeeWithMinSalary = employees
.reduce((item1, item2) => item1.salary < item2.salary ? item1 : item2);
print(employeeWithMinSalary.toString()); // 102
// Find Employee having Maximum salary from all employees
Employee employeeWithMaxSalary = employees
.reduce((item1, item2) => item1.salary > item2.salary ? item1 : item2);
print(employeeWithMaxSalary.toString()); // 102
}
输出:
Employee: {name: Otroc, salary: 5000}
Employee: {name: Andrew, salary: 70000}
结论
综上所述,学会了用dart和flutter编程找到一个列表的最小和最大值。
- 原始数字的列表
- 基于一个数字属性的对象的列表