[英]How to get unique data from list of object in "dart"
當我在本地數據庫上保存用戶位置時,我成功保存了,但是,當我檢索數據時,每天都有多個數據。 我想通過在 List 中添加唯一數據來消除冗余,但我無法做到這一點.. 請參考下面的 cos 片段,感謝任何線索!
if (data != null) {
for (int i = 0; i < data.length; i++) {
if (!day.contains*(data[i].date)) {*
day.add*(data[i]);
}
}
daycount = data.length;
print('count ${daycount}')*;
}
要消除重復值,您需要一種方法來確定 2 個Note
對象是否“相等”。 如果id
相同,您可能會說 2 Note
是相等的。 或者, id
、 longitude
和latitude
可能都必須相同。 也許是date
。 由你決定。
基本上你應該覆蓋==
操作符和hashcode
方法。 如果hashcode
方法產生相同的 hashcode, ==
運算符應該返回 true。
一旦你實現了這一點,你就可以將你的Note
對象添加到Set
而不是List
。 Set
不允許重復值,並且將使用對象的 == / hashcode 特性來確定相等性。
if (snapstory.data != null) {
var day = [];
for (var i = 0; i < snapstory.data.length; i++) {
day.add(snapstory.data[i].get<String>('user_id'));
}
var dictinctsday =day.toSet().toList();
print('filtered $dictinctsday');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.