人臉資訊集合去重

2021-08-21 06:52:26 字數 987 閱讀 8458

問題:

人臉識別返回乙個識別集合,元素包含三個欄位trackid,face,name。

每條資料均有trackid,且有可能會重複;不一定有name和face。

我們認為同乙個trackid的條目 均為重複資訊,需求是 去除重複trackid,並保證保留下的那條資訊最全,優先考慮name。

源資料形式如下:

遇到這種問題,建議在person中加乙個欄位來標識自己的資訊完整性,

/**

* created by ylwang on 2018/7/7 17:28.

*/public class person

public static boolean isempty(charsequence str)

public int gettrackid()

public void settrackid(int trackid)

public string getface()

public void setface(string face)

public void setname(string name)

public string getname()

}

/**

* @param srclist 源資料,帶有重複的trackid的person集合

* @return 去重複後的person集合

*/private listgetsmartlist(listsrclist) else }}

return deslist;

}

去重效果如下:

List集合去重

第一種 list每remove掉乙個元素以後,後面的元素都會向前移動,此時如果執行i i 1,則剛剛移過來的元素沒有被讀取。string str1 newstring abcde1 string str2 newstring abcde2 string str3 newstring abcde3 s...

List集合去重

首先,我們都知道list集合是乙個儲存有序可重複元素的容器,那麼如果要對乙個list去重有哪些方法呢?方式一 迴圈list中的所有元素然後刪除重複 public static list removeduplicate list list return list public static list ...

c 物件集合去重 C List集合去重操作注意點

今天除錯 時發現list的distinct方法在對引用型別操作時並沒有去重,後來查閱資料發現list去重操作物件集合時比較的是物件的乙個個引用位址,因為集合裡的物件都是乙個個單獨的例項,所以並不會把內容相同的元素去掉,要想真正去重還是要自己寫方法篩選,但是值型別集合的就可以直接操作,包括unoin,...