思路
1 如果需要保持顺序 ,那么用LinkHashSet ,不需要保持顺序用HashSet 即可
2 需要重写 泛型中对象的equals和hashCode 方法
类 ShowroomPv
public class ShowroomPv {
private String prodId;
public boolean equals(Object obj){
ShowroomPv pv = ( ShowroomPv ) obj
return this.prodId.equals( pv.getProdId());
}
public int hashCode(){
return this.prodId.hashCode();
}
}
测试类
public class TestMain{
public static void main(String[] args){
List<ShowroomPv> list = new ArrayList<ShowroomPv>();
ShowroomPv pv1 = new ShowroomPv ();
pv1.setProdId("1")
ShowroomPv pv2 = new ShowroomPv ();
pv2.setProdId("2")
ShowroomPv pv3 = new ShowroomPv ();
pv3.setProdId("2")
ShowroomPv pv4 = new ShowroomPv ();
pv4.setProdId("1")
ShowroomPv pv5 = new ShowroomPv ();
pv5.setProdId("6");
list.add( pv5);
list.add( pv4);
list.add( pv3);
list.add( pv2);
list.add( pv1);LinkHashSet< ShowroomPv > set = new LinkHashSet< ShowroomPv >(list);
list.clear();
list.addAll( set );
}
}