飞镖流/列表

时间:2018-05-04 16:29:32

标签: list filter stream dart

如果没有具有该名称的用户,我想将用户添加到我的列表中。其实我一般都想避免重复。 由于我没有找到类似myList.distinct(User.name)之类的东西,所以我用for for循环来做它,如果没有:

myList.add(customUser);
for (User user in myList) {
  if (user.name == customUser.name)
    myList.remove(user);
}

我只是想知道是否有一种更聪明的方法可以用dart解决这个问题,例如使用流。但我没有找到任何东西。

1 个答案:

答案 0 :(得分:1)

您可以使用Set代替列表。集合仅存储唯一值。

如果您的值是自定义类实例(User),那么您的User类需要实现operator ==以使Set正常工作。

有关详细信息,请参阅How does a set determine that two objects are equal in dart?