如果还没有该名称的用户,我想将一个用户添加到我的列表中。实际上,我通常希望避免重复。
因为我没有找到像myList.distinct(User.name)之类的东西,所以我使用了for循环,如果没有的话:
myList.add(customUser);
for (User user in myList) {
if (user.name == customUser.name)
myList.remove(user);
}
我只是想知道是否有更聪明的方法来解决 Dart 问题,例如使用流。但是我什么也没找到。
最佳答案
您可以使用Set
而不是列表。一组仅存储唯一值。
为此,如果您的值是自定义类实例(User
),则User
类需要实现operator ==
才能使Set
正常工作。
有关更多详细信息,请参见How does a set determine that two objects are equal in dart?。
关于list - Dart 流/列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179452/