Método Contém personalizado de ArrayList

Eu tenho algum objeto

class A {
  private Long id; 
  private String name; 
  public boolean equals(Long v) {
     return this.id.equals(v);
  }
}

e ArrayList desses objetos. O que eu quero é poder verificar se essa lista contém algum objeto pelo campo do objeto. Por exemplo

ArrayList<A> list = new ArrayList<A>(); if (list.contains(0L)) {...}

mas o método Equals anulado não me ajuda. O que estou fazendo errado? Obrigad

ATUALIZA E devo substituir também um método hashcode (

questionAnswers(3)

yourAnswerToTheQuestion