Java学习笔记1
利用Set对List去重
1、List中元素为Integer, Double ,String 等非对象数据类型
代码:
List stringList=new ArrayList<>();
stringList.add("sss");
stringList.add("aaa");
stringList.add("sss");
stringList.add("ddd");
Set stringSet=new HashSet<>();
stringSet.addAll(stringList);
//清空list中所有数据
stringList.removeAll(stringList);
stringList.addAll(stringSet);
for(String str:stringList)
System.out.println(str);
2、List中的元素是实体对象
重写实体对象的equals方法和hashCode方法
实体类Person:
public class Person
{
private int id;
private String name;
//省略setter和getter
//这里认为id是person的标识,如果id相等则person相等,如有需要,可以增加判断实体是否完全相等的条件
@Override
public boolean equals(Object o)
{
if(o==this)return true;
else if(((Person) o).getId()==this.id)
return true;
else
return false;
}
@Override
public int hashCode()
{
String id=this.id+"";
return id.hashCode();
}
}
网友评论