В качестве решения я использовал пакет "equatable": https://pub.dev/packages/equatable
Для проверки неупорядоченного списка я использую DeepCollectionEquality.unordered (). Равно вместо listEquals
var a = List<Article>();
var b = List<Article>();
var article1 = Article(id: "1", name: "Beer");
var article2 = Article(id: "2", name: "Tequilla");
var article3 = Article(id: "3", name: "VodkaBull");
var article4 = Article(id: "1", name: "Beer");
var article5 = Article(id: "2", name: "Tequilla");
var article6 = Article(id: "3", name: "VodkaBull");
a.add(article1);
a.add(article2);
a.add(article3);
b.add(article4);
b.add(article5);
b.add(article6);
print(listEquals(a, b));
print(DeepCollectionEquality.unordered().equals(a, b));
Код для моей статьи выглядит следующим образом:
import 'package:equatable/equatable.dart';
class Article extends Equatable {
String id;
String name;
Article({this.id, this.name});
@override
// TODO: implement props
List<Object> get props => [id, name];
}