Mi pregunta es: ¿Cuál es una forma rápida de determinar si un número está contenido en un Collection
para saber si desea agregarlo a la colección y mantener la singularidad. Preferiría no repetir la lista si puedo evitarlo.Una buena manera de almacenar enteros únicos
Tengo un List<Integer>
llamado numberList
. Quiero que almacene números enteros únicos y nunca permita que se agreguen duplicados. Me gustaría hacer algo como esto:
private void add(int number) {
if (!numberList.contains(number)) {
numberList.add(number);
}
}
Pero obviamente esto no funcionará porque numberList
contiene una lista de objetos Integer
por lo que independientemente del número de cada uno es un objeto único.
Gracias!
Creo que el método 'contains (...)' usa el método 'equals (...)' del objeto para ver si está retenido o no por la colección, por lo que su método anterior también debe evitar los duplicados. –
Huh, tal vez algo más está mal con mi código, que está dando los resultados inesperados a continuación. ¡Gracias por el consejo! – kentcdodds
si su código es como el mío, ¡siempre hay algo * siempre * incorrecto! ¡Vuelve con más información si necesitas ayuda para encontrarla! –