2018-03-21

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();

}

}

你可能感兴趣的:(2018-03-21)