Java ArrayList IndexOf - Búsqueda de índice de objetos
Digamos que tengo una clase
public class Data{
public int k;
public int l;
public Data(int k, int l){
this.k = k;
this.l = l;
}
public boolean equals(Date m){
if(this.k == m.k && this.l = m.l)
return true;
return false;
}
}
Y agrego algunos objetos de datos a un ArrayList:
ArrayList<Data> holder = new ArrayList<Data>;
Data one = new Data(0,0);
Data two = new Data(0,4);
Data three = new Data(0,5);
¿Por qué indexOf no encuentra esto ?:
holder.indexOf(new Data(0,4)); //returns -1
¿Es indexOf mejor que ir a través de toda la lista de arreglos? O me estoy perdiendo algo.