問題:
人臉識別返回乙個識別集合,元素包含三個欄位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,...