areListsEqual static method
Compare two lists for equality.
Implementation
static bool areListsEqual(List<dynamic> list1, List<dynamic> list2) {
// Check reference equality (optimization)
if (identical(list1, list2)) {
return true;
}
// Check nulls and length
if (list1.length != list2.length) {
return false;
}
// Compare each element
for (int i = 0; i < list1.length; i++) {
final item1 = list1[i];
final item2 = list2[i];
// Handle different types
if (item1 is List && item2 is List) {
if (!areListsEqual(item1, item2)) return false;
} else if (item1 is Map && item2 is Map) {
if (!areMapsEqual(item1, item2)) return false;
} else if (item1 != item2) {
// Direct comparison for primitives (int, String, bool, etc.)
return false;
}
}
return true;
}