Interfaz de mapa (continuación de la colección)

Interfaz de mapa (continuación de la colección)

Visión general

  • Un objeto que asigna claves a valores

  • Un mapa no puede contener claves duplicadas

  • Cada clave solo se puede asignar a un valor como máximo

HashMap:

El valor clave de los elementos en HashMap no se puede repetir, es decir, el método equals se llama entre sí y el valor de retorno es falso. El orden del arreglo no es fijo.

caracteristicas:

La clave no se puede repetir, el valor se puede repetir (si se repite la clave, el valor de la siguiente clave sobrescribirá el valor de la clave anterior)

Una clave corresponde a un valor

Permitir que una clave sea nula

Métodos clave de deduplicación: método hashcode y método igual

Métodos comunes de la interfaz Mapa:

V poner (tecla K, valor V)

V eliminar (tecla de objeto)

vacío claro ()

boolean containsKey (clave de objeto)

boolean containsValue (valor del objeto)

boolean isEmpty ()

int tamaño ()

V get (clave de objeto)

Establecer keySet ()

Valores de colección ()

Establecer <Map.Entry <K, V >> entrySet ()

package day4;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HashMapDemo {
    
    
    /*
    Map;双列存储  键----值
       键不能重复,值可以重复的
       HashMap
       TreeMap
       HashTable
     */
    public static void main(String[] args) {
    
    
        /*
        键去重复: hashcode()  equals()
                如果有重复的键,后面键的值会覆盖已经添加进去的值
                允许有一个为  null 的键
         */
        Map<String,String>  map=new HashMap<>();
                            map.put("a","1");
                            map.put("a","2");
                            map.put("c","3");
                            map.put("d","4");
                            map.put("w","5");
                            //map.put(null,"a");
                            //map.clear();
                            //map.remove("a");
        /*System.out.println(map.get("c"));
        System.out.println(map.containsKey("a"));
        System.out.println(map.size());
        System.out.println(map.isEmpty());
        System.out.println(map.containsValue("a"));*/


        Collection<String> values =map.values();
        System.out.println(values);
         /*
         遍历1
         Set<String>  keySet =map.keySet();
         for( String s:keySet){
             System.out.println(s);
         }*/
        /*
        遍历2
        Set<Map.Entry<String,String>>  set=map.entrySet();
         for( Map.Entry<String,String> entry:set) {
             System.out.println(entry.getValue()+"=="+entry.getKey());
         }
*/
        System.out.println(map);
    }
}

TreeMap:

Todos los elementos en TreeMap mantienen un cierto orden fijo. Si necesita obtener un mapa ordenado, debe usar TreeMap, y la clase donde se encuentra el valor clave debe implementar la interfaz Comparable.

caracteristicas:

  • Es adecuado para atravesar llaves en orden natural o en orden personalizado.

  • TreeMap se ordena según el valor de la clave, y el valor de la clave debe implementar la interfaz Comparable y anular el método compareTo. TreeMap ordena las claves de acuerdo con la lógica de compareTo.

  • La clave es una estructura de árbol rojo-negro, que puede garantizar la clasificación y unicidad de la clave

package day4;

import java.util.TreeMap;

public class TreeMapDemo {
    
    
    public static void main(String[] args) {
    
    
        TreeMap<String,String> map = new TreeMap<>();
        map.put("a","1");
        map.put("f","4");
        map.put("e","3");
        map.put("x","5");
        map.put("b","2");
        System.out.println(map);
    }
}

Todos los elementos en TreeMap mantienen un cierto orden fijo. Si necesita obtener un mapa ordenado, debe usar TreeMap, y la clase donde se encuentra el valor clave debe implementar la interfaz Comparable.

Tabla de picadillo:

Sincronización lograda.

package day4;

import javafx.scene.control.TreeTableView;

import java.util.Hashtable;

public class TreeTableDemo {
    
    
    public static void main(String[] args) {
    
    
        Hashtable<String, String> tmap = new Hashtable<>();
        tmap.put("a","1");
        tmap.put("f","5");
        tmap.put("e","4");
        tmap.put("b","2");
        tmap.put("c","3");
        System.out.println(tmap);
    }
}

Recorrido de la colección de mapas

  • Encontrar valor por clave

Obtén la colección de todas las llaves

Atraviesa el conjunto de llaves y obtén cada llave

Encontrar valor por clave

  • Encuentre la clave y el valor del objeto de acuerdo con el valor de la clave

Obtenga la colección de todos los pares clave-valor

Recorra la colección de objetos de par clave-valor y obtenga cada objeto de par clave-valor

Encuentre la clave y el valor del objeto de acuerdo con el valor de la clave

package day4;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HashMapDemo {
    
    

    public static void main(String[] args) {
    
    
        
        Collection<String> values =map.values();
        System.out.println(values);
      
         //遍历1
         Set<String>  keySet =map.keySet();
         for( String s:keySet){
    
    
             System.out.println(s);
         }
        
        //遍历2
        Set<Map.Entry<String,String>>  set=map.entrySet();
         for( Map.Entry<String,String> entry:set) {
    
    
             System.out.println(entry.getValue()+"=="+entry.getKey());
         }

        System.out.println(map);
    }
}

Supongo que te gusta

Origin blog.csdn.net/ZJ_1011487813/article/details/110204363
Recomendado
Clasificación