开发者社区 问答 正文

list如何去除重复项

我建立了一个list,泛型是Bean,Bean中的三个对象都是String类型,如何去除重复项得到这样的结果:
数电, 75, 5
线代, 33, 3

ArrayList<Bean> list = new ArrayList<Bean>();
            list.add(new Bean("数电", "75", "5"));
            list.add(new Bean("线代", "33", "3"));
            list.add(new Bean("数电", "36", "5"));
            list.add(new Bean("线代", "43", "3"));

展开
收起
蛮大人123 2016-03-11 10:11:34 2808 分享 版权
3 条回答
写回答
取消 提交回答
  • 扔到一个set里面就去重了
    2019-07-17 18:58:32
    赞同 展开评论
  • 可以遍历list,然后把数据放入 hashset里面,就自动去重了
    2019-07-17 18:58:32
    赞同 展开评论
  • 我说我不帅他们就打我,还说我虚伪

    这是我的代码,运行通过:
    重写equals(),getSubName是Bean的一个方法

    @Override
        public boolean equals(Object obj) {
            // TODO Auto-generated method stub
            if(this == obj){
                return true;
            }
            if (obj == null) {
                return false;
            }
            if(getClass() != obj.getClass()){
                return false;
            }
            final Bean bean = (Bean)obj;
            if (this.getSubName() != bean.getSubName()) {
                return false;
            }
            
            return true;
        }
    ArrayList<Bean> listCopy = new ArrayList<Bean>();
    for(Bean bean:list){
                if (!listCopy.contains(bean)) {
                    listCopy.add(bean);
                }
            }
    2019-07-17 18:58:32
    赞同 展开评论
问答地址: