Doble juego de columnas Mapa

1. Comprender la colección de mapas, colección de mapa de lo que son a lograr?

  1.1 Hashmap

  1.2 HashTable

  1.3 LinkedHashMap

  1.4 TreeMap

  1.5 ConcurrentHashMap

La diferencia entre 2.HashMap y HashTable?

  2,1 HashMap: + capa inferior basado lista array (árbol rojo-negro), un no-thread-safe, para permitir que las claves y los valores disponibles;

  2.2 HashTable: Basado en la tabla hash subyacente de lograr, hilo de seguridad, no se permitirá que las claves y valores vacíos;

  2,3 HashMap AbstractMap heredado de la clase hereda de la clase ,, Diccionario HashTable;

  2.4 capacidad inicial HashTable de 11, después de cada expansión, la capacidad de la original se convierte en 2n + 1;

  2,5 HashMap capacidad inicial de 16, después de cada expansión, la capacidad se convierte en 2 veces el original;

3.hashCode () y equals () utiliza la escena?

  hashCode (): entre el objeto de clase de padres de nivel superior, el valor de retorno de tipo es un int, generando una matriz de acuerdo con ciertas reglas, se almacena en una matriz de valores de hash;

  es igual a (): Método entre de nivel superior objeto de clase de padres, según una cierta regla de comparación, determinando el objeto son los mismos;

    la lógica subyacente en general:

      1. Dos objetos se determina si la misma dirección de memoria;

      2. Análisis y determinación de tipo clase no vacía;

      3. su vez Strong;

      4. un campo de objeto emparejado;

empaquetar com.wn.Test02; 

importación java.util.Objects; 

público  de clase Título {
     privada  int Identificación;
    privada String nombre; 

    pública  int getId () {
         retorno de la identificación; 
    } 

    Pública  vacío setId ( int id) {
         este .ID = Identificación; 
    } 

    Pública getName String () {
         retorno nombre; 
    } 

    Pública  vacío setName (String nombre) {
         este .name = nombre; 
    } 

    @ Override
    pública  de Boole los iguales (Object o) {
         // determinar si dos objetos de la misma dirección de memoria 
        SI ( el presente == O) retorno  a la verdadera ;
         // clase no vacía y de determinación de tipo juzgada 
        SI (O == nula || getClass ()! o.getClass = ()) de retorno  en false ;
         // fuerte a su vez 
        el título title = (el título) O;
         // campos de objetos en una emparejado 
        retorno ID == title.id && 
                Objects.equals (nombre, title.name); 
    } 

    @ Override 
    pública  int hashCode () {
         retornoObjects.hash (id, nombre); 
    } 
}

¿Cómo se deben escoger los arreglos 4.HashMap y TreeMap?

  HashMap: + matriz inferior utiliza la estructura de la lista permite el almacenamiento y recuperación rápida, pero los datos no ordenadas, adaptado para ser insertado o suprimido en los elementos del mapa adquirida que;

  TreeMap: estructura de almacenamiento es un árbol binario equilibrado, especialmente en lo que una implementación de árbol rojo-negro, orden natural uso por defecto, el cotejo se puede personalizar, pero necesita implementar Comparador, la clasificación puede ser conveniente aplicar diversos elementos internos, pero el rendimiento es peor que HashMa, particularmente adecuado para la colación de acuerdo con la costumbre y la ordenación natural;

Establecer la relación y 5.Map?

  La correspondencia es un conjunto de pares de valores clave en la estructura, tiene una velocidad de búsqueda rápida;

  Core Set se almacena elementos no duplicados, el almacenamiento de un conjunto único de objetos;

  Conjunto de los cuales corresponde a cada aplicación de la hoja;

  HashSet capa inferior subyacente correspondiente es nuevo HashMap, TreeSet correspondiente a la TreeMap es nuevo;

 6. Común Mapa colaciones

  Uso de acuerdo LinkedHashMap añadir una regla, de acuerdo con el ordenamiento natural o unas reglas de ordenación personalizada se pueden emplear TreeMap

7. ¿Cómo garantizar flujos seguros Mapa

  ambiente Multi-roscado, puede usarse un paquete siguiente ConcurrentHashMap o el uso concurrente de la Collections.synchronizedList (nuevo nuevo el HashMap <K, V>) ();
  ConcurrentHashMap segmento de bloqueo de rosca-seguro, eficiente que el HashTable, extracción

8.HashMap de análisis de código fuente subyacente

  8.1. Estructura de datos subyacente describe HashMap utilizado

  8.2. ¿Por qué un árbol rojo-negro, y por qué el valor crítico de 8

  procesos centrales y obtener el 8.3.put fuente subyacente

9.ConcurrentHashMap implementación subyacente

  1. JDK1.7 y JDK1.8 diferencia entre la implementación subyacente de

  núcleo 2. ConcurrentHashMap subyacente lógica implementada método put

Supongo que te gusta

Origin www.cnblogs.com/ws1149939228/p/12505742.html
Recomendado
Clasificación