contains() en arraylist

Hola Comunidad...

Necesito ayuda con lo siguiente por favor, tengo en mi proyecto una clase documento tiene sus respectivos atributos, ademas de ello tengo otra llamada Elementos_Documentos donde contiene un id de del documento al que pertenece, ahora bien mi problema esta en que quiero crear un listado de los documentos que tengo en mi app sin que se repitan, o sea tengo varios elementos que en su esctructura referencian al mismo documento por ende no me lo debe repetir, he tratado con el metodo contains() de un arraylist pero sinceramente no he logrado lo que quiero, si necesito ser mas explicito por favor me hacen saber....

Gracias de Antemano

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Define el método equals y

Define el método equals y hash de tu clase y usa un java.util.Set

http://docs.oracle.com/javase/7/docs/api/java/util/Set.html

De esa forma solo tendrás una copia de cada Documento ( ArrayList.contains() también puede funcionar, pero depende también de que tengas equals definido )

También puedes en tu clase Elementos_Documentos tener una referencia al documento dueño ( y por ahí le puedes tambien cambiar el nombre a Elemento )

package some.docs;

public class Elemento {
    //private int docID;
    // el documento al que pertenece
    private Documento documento;
    public Elemento( Documento doc ) {
       this.documento  = doc;
    }
    ...
}

Así cuando crees un elemento tendrá el Documento al que pertenece.