簡體   English   中英

"如何從“dart”中的對象列表中獲取唯一數據"

[英]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是相等的。 或者, idlongitudelatitude可能必須相同。 也許是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM