Digamos que quiero poner palabras en una estructura de datos y quiero tener búsquedas de tiempo constante para ver si la palabra está en esta estructura de datos. Todo lo que quiero hacer es ver si la palabra existe. ¿Utilizaría un HashMap
(containsKey()) para esto? HashMap
s usa combinaciones de clave-> valor, pero en mi caso no tengo ningún valor. Por supuesto, podría usar null para el valor, pero incluso null toma espacio. Parece que debería haber una mejor estructura de datos para esta aplicación.Java hashmaps sin el valor?
La colección podría ser utilizada potencialmente por varios subprocesos, pero como los objetos contenidos en la colección no cambiarían, no creo que tenga un requisito de sincronización/concurrencia.
¿Alguien puede ayudarme?
Si tuviera que usar algo como hashSet, ¿significa eso que no puedo usar cadenas? hashSet.add ("clave"); hashSet.contains ("clave"); // falso, ¿verdad? Dado que las dos claves son objetos separados? – jbu
, no, vuelve verdadero. Hashset es perfecto – jbu
Debería poder usar cadenas perfectamente, porque String tiene su propia implementación de hashCode() que devuelve el mismo hash para las cadenas que son iguales. Referencia: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#hashCode() –