本教程展示了如何在Dart和Flutter编程中比较两个列表的多个例子。

- 比较列表的相等
- 检查字符串列表的比较是否相等
- 如何在flutter中比较一个列表与一个字符串
如何在Dart中检查给定的列表是否相等?
在dart中,quiver包一个集合实用可重用函数的库
它有一个listsEqual 函数,比较两个列表,如果相等则返回true,否则不相等。
语法:
bool listsEqual(List? a, List? b)
它需要两个列表进行比较 返回值:true 或false 。
下面是一个示例代码
import 'package:quiver/collection.dart';
void main() {
var list1 = [5, 8, 4];
var list2 = [5, 8, 4];
print(listsEqual(list1, list2)); // true
var list3 = [15, 8, 4];
var list4 = [5, 8, 4];
print(listsEqual(list3, list4)); // false
}
输出
true
false
如何在Flutter中比较两个数字列表的相等或不相等
如果您的应用程序是flutter,它有一个foundation.dart 库。
foundation.dart 有一个 方法,对列表中的每个元素进行比较,并返回布尔类型的相等比较结果。listEquals
bool listEquals<T>(List<T>? a, List<T>? b)
- true。如果两个列表相等,返回true,忽略元素的顺序。
- false:列表中的元素。这里,比较两个数字列表,如果两个列表的值相等,则返回true。
下面是一个数字列表的相等例子。
import 'package:flutter/foundation.dart';
void main() {
var list1 = [5, 8, 4];
var list2 = [5, 8, 4];
print(listEquals(list1, list2)); // true
var list3 = [15, 8, 4];
var list4 = [5, 8, 4];
print(listEquals(list3, list4)); // false
}
如何在flutter中比较两个字符串的列表
在下面的例子中,list1和list2是相等的。因此,它返回真。
每个列表中的值与其他列表中的值进行比较,以实现平等。
import 'package:flutter/foundation.dart';
void main() {
var list1 = ["one", "two", "three"];
var list2 = ["one", "two", "three"];
print(listEquals(list1, list2)); // true
}
在下面的例子中,list1 和 list2 是不同的,因为其中一个值("One" != "one")不相等。因此,它比较的是一个字符串的精确大小写匹配。
import 'package:flutter/foundation.dart';
void main() {
var list1 = ["One", "two", "three"];
var list2 = ["one", "two", "three"];
print(listEquals(list1, list2)); // false
}
如何在Flutter中比较两个对象的列表是否相等?
这表明您比较两个对象列表,如果两个列表相等则返回,否则返回false。
以下是所需的步骤。
- 创建了具有id、name、salary和joinDate的雇员。
- 在下面的例子中创建了四个列表
- 比较两个列表,使用
import 'package:flutter/foundation.dart';
import 'dart:convert';
class Employee {
final int id;
final String name;
final int salary;
final DateTime joinDate;
Employee(this.id, this.name, this.salary, this.joinDate);
Map<String, dynamic> toJson() =>
{"id": id, "name": name, "salary": salary, "doj": joinDate.toString()};
}
void main() {
final e1 =
Employee(11, 'Erwin', 9000, DateTime.parse("2020-06-21 00:00:00.000"));
final e2 =
Employee(21, 'Andrew', 70000, DateTime.parse("2021-07-23 00:00:00.000"));
final e3 =
Employee(4, 'Mark', 8000, DateTime.parse("2017-08-24 00:00:00.000"));
final e4 =
Employee(12, 'Otroc', 5000, DateTime.parse("2022-12-05 00:00:00.000"));
final List<Employee> employees = [e1, e2, e3, e4];
final List<Employee> employees1 = [e1, e2, e3, e4];
print(listEquals(employees, employees1)); // true
final List<Employee> employees2 = [e1, e3, e4];
final List<Employee> employees3 = [e1, e2, e4];
print(listEquals(employees2, employees3)); // false
}
总结
在本教程中,学习了如何在Dart和flutter编程中比较两个数字、字符串和对象的平等列表