list - Dart 流/列表

标签 list filter stream dart

如果还没有该名称的用户,我想将一个用户添加到我的列表中。实际上,我通常希望避免重复。
因为我没有找到像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/

相关文章:

android - 在 Android 中扩展过滤器时如何使用 publishResults() 方法?

mysql - 过滤具有相同 PK 但不同值键的查询

http - Rxjs 过滤器运算符不适用于 Angular2 Observable

c++ - 算术指针和 fstream C++

video - ffmpeg drawtext过滤器可以将RTF文件读取为视频覆盖吗?

c# - 将列表格式化为字符串

c# - 如何按特定成员对对象列表进行排序?

java - 在Java中从RTMP流获取AudioInputStream?或者如何混合多个RTMP流的音频

python - 为列表的最后一项运行不同的函数

c# - Linq 选择列表中存在的对象(A,B,C)