Estos suenan como preguntas de la entrevista, así que voy a responder a ellos como preguntas de la entrevista ...
Is it possible to allow duplicate values in the Set collection?
Sí, pero requiere que la persona que implementa el Set
viole el contrato de diseño sobre el cual se construye Set
. Básicamente, podría escribir una clase que extienda Set
y no haga cumplir las promesas de Set
.
Además, otras violaciones son posibles. Podría utilizar una implementación Set
que se basa en el contrato de Java hashCode()
.Entonces, si proporcioné un Object
que viola el contrato de código hash de Java, podría colocar dos objetos en el conjunto que son iguales, pero generar diferentes códigos hash (porque es posible que no se verifiquen en igualdad uno contra el otro debido a estar en un cubo de hash diferente . cadenas
Is there any way to make the elements unique and have some copies of them?
básicamente depende de cómo se defina singularidad Si la singularidad de un objeto está determinado por su valor, entonces uno puede tener múltiples copias del mismo objeto único;. Sin embargo, si la singularidad del objeto está determinado por su Por ejemplo, entonces, por definición, no sería posible tener varias copias del mismo objeto. Sin embargo, podría tener múltiples referencias a ellas.
Is there any functions for Set collection for having duplicate values in it?
La interfaz Set
no tiene ninguna función para detectar/informar duplicados; sin embargo, se basa en la interfaz Colecciones, que debe admitir la interfaz de la Lista, por lo que es posible pasar duplicados a un Conjunto; sin embargo, una Set
correctamente implementada simplemente ignorará los duplicados y presentará una copia de cada elemento determinado como único.
¿Por qué desea almacenar valores múltiples en un conjunto? Tal vez sea útil un ejemplo de lo que estás tratando de lograr. – Cuga
Creo que malinterpretaste el significado completo del término ** Conjunto **. Use una lista si quiere duplicados. – BalusC