I have an ArrayList of a class that holds information, and I want to add to objects to this list.  I want to check to see if that list already contains a number before adding it to a list.
Normally if it were just a list of strings I would just do something like this
if(!list.contains("this string")){
    list.add("this string");
}
but since this is a class, it has more than one variable per index.
An example of the class world be this:
private class From{
    private long threadID;
    private long date;
    private String address;
    private String body;
    private int type;
    private long id;
    @Override
    public boolean equals(Object obj){
        if(obj != null){
            if(getClass() != obj.getClass()){
                return false;
            }else{
                final From from = (From)obj;
                if((this.address != null) ? (from.address != null) : !this.address.equals(from.address)){
                    return false;
                }
            }
        }else{
            return false;
        }
        return true;
    }
}
I want to see if there is already an entry with the same number, so am I going to have to manually loop through each index and check, or is there an easier way of doing what I want to do?
EDIT:
how i call it
HashSet<From> addresses = new HashSet<From>();
From f = new From();
                f.setAddress(messages.getString(3));
                f.setBody(messages.getString(0));
                f.setDate(messages.getLong(2));
                f.setThreadId(messages.getLong(1));
                f.setType(1);
                if(!addresses.contains(f.address)){
                    addresses.add(f);
                }
 
     
     
     
     
    