Ahora mira el papel de conjunto y el mapa, y el papel de TreeSet.
Lo que también tiene que aprender para el futuro:
Para el análisis correspondiente complejidad de tiempo para el respectivo contenido ordenado, es necesario volver a ver.
¿Cuál es la mejor, lo peor y similares.
Dado que las estructuras de datos de escritura para lograr el leetcode código apropiado que aprender, en el que las partes de la clase privada en la que escribir parte de escribir interfaz privada, que tienen que aprender.
Para aprender antes de redes de computadoras, sistemas operativos y otros conocimientos, es necesario revisar las ya aprendidas. Y luego añadir contenido a ir de acuerdo a la entrevista.
El conjunto correspondiente contenido y mapa de:
Si es apropiado para escribir su propia aplicación,
Conjunto <String> Set = new HashSet <> ();
Set <String> SET = nueva TreeSet <> ();
Map <String, Estudiante> mapa = new HashMap <> ();
Map <String, Integer> mapa = new TreeMap <> ();
Decir aquí es: si a su propia escritura, lo que se debe utilizar, se debe utilizar: HashSet ---- "no es necesario que tipo de conjunto
TreeSet --- necesidad de una especie de conjunto. Hashmap --- no el tipo de mapa, mapa de árbol --- necesidad de una especie de mapa.
A continuación, las palabras para saber: ¿Cuándo debo usar conjunto: la esperanza en el interior de los elementos sin repetición, se debe utilizar conjunto
¿Cuándo debo usar el mapa: querer establecer es: cuando uno de mapeo, a continuación, utilizar el mapa.
Entonces la diferencia entre el par y el mapa, se sabría que el uso de un par más ligero.
Por key
el cálculo de un índice de manera que es llamar a la key
del objeto hashCode()
método, que devuelve un int
número entero. HashMap
Se encuentra por el método directo key
que corresponde value
al índice, y luego regresó directamente value
.
Por lo tanto, el uso adecuado Map
debe asegurarse de que:
-
A medida que el
key
objeto debe anular la correctaequals()
método, dos idénticaskey
casos de llamadaequals()
debe devolvertrue
; -
A medida que el
key
objeto también debe anular la derechahashCode()
método, yhashCode()
el método debe cumplir estrictamente con las siguientes especificaciones:
- Si dos objetos son iguales, entonces los dos objetos
hashCode()
deben ser iguales; - Si dos objetos no son iguales, entonces los dos objetos
hashCode()
que no son iguales.
Aquí es decir: de venta, lo que se asignan a utilizar cuando el punto de atención es:
Si se utiliza un recipiente a cualquier función para encontrar un elemento (búsqueda, contiene), el objeto de esta clase necesita para implementar la función iguales.
La razón: son iguales, es necesario definir el contenido. Para los tipos de datos básicos, tipos de cadenas citadas, que ya están escritos en el interior de esta parte.
-
A medida que el
key
objeto también debe anular la derechahashCode()
método, yhashCode()
el método debe cumplir estrictamente con las siguientes especificaciones:
- Si dos objetos son iguales, entonces los dos objetos
hashCode()
deben ser iguales; - Si dos objetos no son iguales, entonces los dos objetos
hashCode()
que no son iguales.
HashCode efecto función: de acuerdo con el objeto, que reciben el código hash. A continuación, busque la lista
Ponemos diferente key
con la misma hashCode()
situación se llama hash de colisión. En caso de conflicto, uno de la solución más simple es List
para almacenar hashCode()
la misma key-value
. Obviamente, cuanto mayor es la probabilidad de que si el conflicto, el List
más largo
Dichos aquí es: ¿Por qué necesidades mapa para anular la función de código hash, ya que el mapa se basa en el objeto, encuentran valor código hash, ir a buscar el objeto especificado.
Es decir: si usted necesita para encontrar algo, entonces iguales de escritura, si el mapa, además de esto, si usted como una clave, entonces todavía tenemos que la función de anulación código hash.
Así que si van a la escritura hecho realidad:
Así LinkedList como mapa, como el conjunto realización en.
BST como mapa, como el conjunto realización, a continuación, establecer dentro de la cosa está ordenada, asigne la clave está en clase antes. (Debido a la adición de un árbol de búsqueda binaria que es seguir el orden a añadir)
BSTMap <K extiende Comparable <K>, V> implementos Mapa <K, V>
Esta frase es muy buena, porque: si el elemento se mantiene dentro necesidad de comparar, de manera que el primer elemento se extiende necesidad comparable a ir a clase.
Y en su totalidad, como una realización del mapa.
Si la estructura se divide en cuatro archivos, a continuación,
Un contenedor inferior
2. ¿Cómo lograr la interfaz contenedor subyacente, recuerde, esta posición es la posición mantenida por la parte inferior del recipiente, como en la segunda figura de arriba.
3. Interfaz: Sólo escritura funciones abstractas
Aquí es enseñar cómo escribir sus propias interfaces, cómo escribir interfaces.
La siguiente es una estructura de doble fila:
De hecho, la función principal no ha escrito, el equivalente a tres a la estructura de archivos.
El nodo se almacena como una clase privada
Dio la función que corresponde directamente al puesto, la función correspondiente es LinkedList venir directamente fusionar.
Es: mantener la parte inferior del contenedor, que parte de los contenidos cambió. No sujete la parte inferior del recipiente, escribir directamente a la parte inferior del contenedor es la forma de lograr.
El siguiente es un único archivo de configuración, que se utiliza comúnmente: códigos leetcode o similares.
Sino también en cuenta: Código leetcode, generalmente por escrito directamente a su disposición para lograr que las implementaciones, hay ya existentes, e ir directamente a la llamada en la línea.
1. La interfaz también llegar a ser privadas
2. La aplicación adecuada de la interfaz, se ha convertido en el titular de una clase privada.
3. Por supuesto, también la parte inferior del contenedor, a la integración en la aplicación de este material en el interior de la interfaz.
Aquí es decir la práctica de una estructura de una sola fila
Esta sección colgar en esto, y luego continuar a analizar y luego ir tras el apropiado hacerlo.