删除ArrayList <myitem> Android </myitem>中的重复项

时间:2014-06-10 10:02:12

标签: android

ArrayList arReceipient = new ArrayList();在全球宣布。 arraylist填充如下

arReceipient.add(new MyItem(data.get(i).getId(),data.get(i).getNickName()));

导致

sId 1000002327 sName htc1
sId 1000002208 sName htcandroid
sId 1000002208 sName htcandroid
sId 1000002242 sName htcandroid1
sId 1000000721 sName bachan
sId 1000000721 sName bachan
sId 1000000810 sName bachan2

如何删除重复条目,结果为

 sId 1000002327 sName htc1
 sId 1000002208 sName htcandroid
 sId 1000002242 sName htcandroid1
 sId 1000000721 sName bachan
 sId 1000000810 sName bachan2

这是MyItem类

public class MyItem {

    public String sId;
    public String sName;

    public MyItem(String sid, String sname){

        this.sId=sid;
        this.sName=sname;

    }

}

2 个答案:

答案 0 :(得分:1)

而不是列表使用set

LinkedHashSet<MyItem> arReceipient =new LinkedHashSet<MyItem>();

并在MyItem

中添加equals方法
public class MyItem {

    public String sId;
    public String sName;

    public MyItem(String sid, String sname){

        this.sId=sid;
        this.sName=sname;

    }
   public boolean equals(Object o){
      if(!(o instanceof MyItem)) return false;
      return sId==((MyItem)o).sId;
  }

}

答案 1 :(得分:0)

ArrayList list = new ArrayList();

HashSet hashmap = new HashSet();
hashmap.addAll(list);
list.clear();
list.addAll(hashmap);