Articles of hashset

Objetos mutables y hashCode

Tener la siguiente clase: public class Member { private int x; private long y; private double d; public Member(int x, long y, double d) { this.x = x; this.y = y; this.d = d; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + […]

Hash Set y Array List performances

Implementé un método que simplemente gira alrededor de un conjunto de archivos CSV que contienen datos en un número de módulos diferentes. Esto luego agrega el ‘moduleName’ en un hashSet. (Código que se muestra a continuación) He usado un hashSet ya que garantiza que no se inserten duplicados en lugar de un ArrayList que debería […]

¿Por qué la implementación de HashSet en Sun Java usa HashMap como respaldo?

Al ver la fuente de Java 6, HashSet se implementa realmente usando HashMap , usando la instancia de objeto ficticio en cada entrada del conjunto. Creo que desperdicia 4 bytes (en máquinas de 32 bits) para el tamaño de la entrada en sí. Pero, ¿por qué todavía se usa? ¿Hay alguna razón para usarlo además […]

HashSet vs LinkedHashSet

¿Cuál es la diferencia entre ellos? Yo sé eso Un LinkedHashSet es una versión ordenada de HashSet que mantiene una Lista doblemente enlazada en todos los elementos. Utilice esta clase en lugar de HashSet cuando le interese el orden de iteración. Cuando itera a través de un HashSet, el orden es impredecible, mientras que un […]

Pedido de iteración de HashSet

Si cada objeto agregado a un java.util.HashSet implementa Object.equals () y Object.hashCode () de manera determinista, se garantiza que el orden de iteración sobre el HashSet será idéntico para cada conjunto idéntico de elementos agregados, independientemente de la orden en que fueron agregados? Pregunta extra: ¿y si el orden de inserción es idéntico también? (Suponiendo […]

es el orden de iteración de keySet de Java HashMap () consistente?

Entiendo que el conjunto devuelto por el método keySet () de un mapa no garantiza ningún orden en particular. Mi pregunta es, ¿garantiza el mismo orden en múltiples iteraciones? Por ejemplo Map map = getMap(); for( K k : map.keySet() ) { } … for( K k : map.keySet() ) { } En el código […]

¿Cómo compara HashSet elementos para la igualdad?

Tengo una clase que es IComparable : public class a : IComparable { public int Id { get; set; } public string Name { get; set; } public a(int id) { this.Id = id; } public int CompareTo(object obj) { return this.Id.CompareTo(((a)obj).Id); } } Cuando agrego una lista de objetos de esta clase a un […]

¿Cuándo debería usar el tipo HashSet ?

Estoy explorando el tipo HashSet , pero no entiendo dónde se encuentra en las colecciones. ¿Se puede usar para reemplazar una List ? Me imagino que el rendimiento de un HashSet es mejor, pero no pude ver el acceso individual a sus elementos. ¿Es solo para enumeración?

HashSet que conserva el orden

Necesito un HashSet que preserve el orden de inserción, ¿hay alguna implementación de esto en el marco?

Eliminar elementos de un HashSet mientras itera

Por lo tanto, si trato de eliminar elementos de un HashSet de Java mientras realizo la iteración, obtengo una ConcurrentModificationException . ¿Cuál es la mejor manera de eliminar un subconjunto de elementos de un HashSet como en el siguiente ejemplo? Set set = new HashSet(); for(int i = 0; i < 10; i++) set.add(i); // […]