huarrrr的gravatar头像
huarrrr2018-12-19 11:26:36
关于两个实体list元素去重问题解决

本人去重用过3种方法:

1、直接for循环remove();

2、将list转换成无序的set,去重后再转换成list;

3、iterator迭代器

这个迭代器可能大神们都知道,作为一个新手我还是第一次用,随便记录一下,不喜勿喷。

最近在做一个仿支付宝九宫格管理的需求,因为就框架没有封装新版rv导致包冲突,只能做一个GridView。后台返回两组龙8国际娱乐官方网站,一组是首页展示的,另一组是隐藏待展示的。管理时需要重新组装list。一开始用for循环发现去除后会多出一个,原因是id会重复导致判断错误没有去除。。后来发现util包中有一个Itorator的接口类,它非常龙8国际娱乐pt老虎机:

public interface Iterator<E> {
    boolean hasNext();
    E next();
    void remove();
}

它只能单向移动:第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。其中:next()获得序列中的下一个元素;hasNext()检查序列中是否还有元素;remove()将迭代器新返回的元素删除。于是:

for (MenuEntity menuEntity : indexSelect) {
                Iterator<MenuEntity> iterator = indexLC.iterator();
                while (iterator.hasNext()) {
                    MenuEntity next = iterator.next();
                    if (next.getTitle().equals(menuEntity.getTitle())) {
                        iterator.remove();
                    }
                }
            }

这样就完成了两个实体list去重了,截图:

关于两个实体list元素去重问题解决

ok。今天分享这么一个轻量级对象。


打赏

分享到:

最近浏览
手扶摘星6月10日
暂无贡献等级
magrage LV56月4日
月亮星星
a992013093 LV155月27日
月亮月亮月亮星星星星星星
xingwen00115月27日
暂无贡献等级
qwe123ewq LV15月14日
星星
zzuljh LV74月18日
月亮星星星星星星
碼丐0077 LV84月12日
月亮月亮
onlyhowe LV84月12日
月亮月亮
sky_hui LV43月27日
月亮
wpkm2008 LV63月23日
月亮星星星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友

龙8国际娱乐pt老虎机