Более простой подход, который также не требует выделения новых List
объектов, будет:
void main() {
final numlist = [1, 2, 3, 4, 5, 6, 7, 9, 10];
numlist.sort((a, b) {
if (a.isEven && !b.isEven) {
return 1;
} else if (b.isEven && !a.isEven) {
return -1;
} else {
return a.compareTo(b);
}
});
print(numlist); // [1, 3, 5, 7, 9, 2, 4, 6, 10]
}
Это также будет работать, если список ввода не отсортирован.