list - 飞镖流/列表
问题描述
如果还没有具有该名称的用户,我想将用户添加到我的列表中。其实我一般想避免重复。因为我没有找到类似 myList.distinct(User.name) 或类似的东西,所以我使用 for for 循环和 if else 来完成它:
myList.add(customUser);
for (User user in myList) {
if (user.name == customUser.name)
myList.remove(user);
}
我只是想知道是否有更聪明的方法可以在飞镖中解决这个问题,例如使用流。但我什么也没找到。
解决方案
您可以使用 aSet
而不是列表。一个集合只存储唯一值。
为此,如果您的值是自定义类实例 ( User
),则您的User
类需要实现operator ==
aSet
才能正常工作。
有关更多详细信息,请参阅集合如何确定 dart 中的两个对象相等?
推荐阅读
- hibernate - 自定义验证器导致 StackOverflowException
- java - 没有可用的客户端私钥
- azure - 将 Azure DevOps 组织从一个订阅移动到另一个订阅
- java - 有没有更好的方法在 Spring 客户端实现中同时调用 REST API?
- reactjs - Heroku 文件系统
- unity3d - 如何将 1 个动画分配给多个对象
- javascript - 跟踪点击了哪个按钮;如果当前单击的按钮与单击的上一个按钮不同,则清除数据
- java - 在java中获取超出时间限制的错误
- json - Scala Option[AnyVal] 的 Jackson JSON 反序列化
- javascript - 加载到早期,等待框架内的重定向