ArrayList duplicado com VO ? [RESOLVIDO]

Tenho um VO, quero inserir ele em um ArrayList sem duplicação:

public class CheckTemp {

    private String done;

    private String check;

    private String description;

    
    public String getDone() {
        return done;
    }

    public void setDone(String done) {
        this.done = done;
    }

    public String getCheck() {
        return check;
    }

    public void setCheck(String check) {
        this.check = check;
    }
    
    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
   
}

Quero adicionar em um :

List<CheckTemp> listCheckTemp = new ArrayList<CheckTemp>();

Ma quero fazer isso sem duplicação:

CheckTemp temp= new CheckTemp();


temp.setDescription(description);
temp.setCheck(check);
remp.setDone(done);
                                    
if(!listCheckTemp .contains(checklistTemp)){
           listChecklistTemp.add(checklistTemp);
}

tentei usar um HashSet e dessa forma não funcionou:

List<CheckTemp> novaLista = new ArrayList(new HashSet(listCheckTemp )); 

Alguém teria alguma idéia de como posso fazer isso ?

Desde já agradeço !

Use um set e implemente, no VO, os métodos hashcode e equals.