您的位置:首页 > 移动开发 > Android开发

android 分页数据 LinkedHashSet及ArrayList两种去重方法

2016-10-28 15:58 288 查看
第一种(
mDatasTemp为当前页数据,
deals为总数据

if (mDatasTemp != null && mDatasTemp.size() > 0) {
boolean isEqual = false;
for (UserDeal uds : mDatasTemp) {
isEqual = false;
for (UserDeal udsTmp : deals) {
if (uds.dealId.equals(udsTmp.dealId)) {
isEqual = true;
break;
}
}
if (!isEqual) {
deals.add(uds);
}
}
}


第二种
mCopyDatas
为当前页数据,
deals为总数据

LinkedHashSet<String> mFiltSet = new LinkedHashSet(); // 用于确定数据唯一,过滤重复数据


if (mPage == 1) {
mFiltSet.clear();
this.mDatas.clear();
this.isRefresh = false;
}
// select = this.mDatas.size();
// KLog.d("CD", this.mDatas.size() + "");
KLog.d("CD2", this.mCopyDatas.size() + "");
// this.mDatas.addAll(mCopyDatas);

Iterator<MoonShowComment> iterator = mCopyDatas.iterator();
while (iterator.hasNext()) {
MoonShowComment item = iterator.next();
if (!mFiltSet.contains(item.getId())) {
// 如果不包括当前aStr,则加入数据,并保存到LinkedHashSet中
mDatas.add(item);
mFiltSet.add(item.getId());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息