¿Cómo comprobar si LinkedHashMap contiene un valor en Java?

LinkedHashMap es una clase predefinida en Java que es similar a HashMap , contiene la clave y su valor respectivo a diferencia de HashMap, en LinkedHashMap se conserva el orden de inserción. La tarea es verificar si LinkedHashMap contiene algún valor en Java. para verificar, tenemos que iterar a través de nuestro LinkedHashMap y, si obtenemos algún valor, devolvemos verdadero.

Ejemplo :

Input : Key- 2 : Value-6
    Key- 4 : Value-1
    Key- 5 : Value-10
    value to check - 2

Output : False

Input : Key- 1 : Value-15
    Key- 3 : Value-12
    Key- 5 : Value-9
    Key- 6 : Value-11
    Value to check - 11

Output : True

Enfoque 1: (usando el método entrySet())

Use un bucle For-each para iterar a través de LinkedHashMap. cree la función check() para si existe algún valor en LinkedHasMap o no. Iterar a través de LinkedHashMap si obtenemos algún valor devuelve verdadero, de lo contrario devuelve falso.

Pseudocódigo:

for (Map.Entry<Integer, Integer> it : lhm.entrySet()) {
       if (it.getValue() != null)
                return true;
}

Sintaxis:

linked_hash_map.entrySet()

Parámetros: El método no toma ningún parámetro.

Valor devuelto: el método devuelve un conjunto que tiene los mismos elementos que LinkedHashMap.

Ejemplo:

Java

// Java program to check if LinkedHashMap contains a
// particular value
  
import java.util.*;
import java.io.*;
  
class GFG {
  
    public static boolean
    check(LinkedHashMap<Integer, Integer> lhm, int value)
    {
        // iterate the map and find
        for (Map.Entry<Integer, Integer> it :
             lhm.entrySet()) {
            if (it.getValue() == value)
                return true;
        }
  
        return false;
    }
    public static void main(String[] args)
    {
        // create a linked Hashmap
        LinkedHashMap<Integer, Integer> LHM
            = new LinkedHashMap<>();
  
        // add elements
        LHM.put(2, 6);
        LHM.put(4, 1);
        LHM.put(5, 10);
        int value = 2;
  
        // check if has a value 2
        if (check(LHM, value))
            System.out.println("True");
        else
            System.out.println("False");
    }
}
Producción

False

Complejidad temporal : O(n).

Enfoque 2: (usando el método containsValue())

Este enfoque es un enfoque óptimo para nuestro problema. En el enfoque anterior, iteramos a través de nuestro LinkedHashMap. En este enfoque, usamos directamente nuestra función predefinida para verificar nuestro valor.

Algoritmo

Usa la función containerValue() para encontrar si nuestro valor está presente o no en nuestro LinkedHashMap.

Pseudocódigo:

LHM.containsValue(valor)

Aquí, 

Val es un valor para comprobar.

LHM es el nombre de nuestro LinkedHashMap.

Sintaxis:

Linked_Hash_Map.containsValue(Object Value)

Parámetros: el método toma solo un parámetro Valor de tipo Objeto y se refiere al valor cuyo mapeo se supone que debe verificar cualquier tecla dentro del mapa.

Valor devuelto: el método devuelve un valor booleano verdadero si se detecta la asignación del valor; de lo contrario, es falso.

Ejemplo:

Java

// Java program to check if LinkedHashMap contains a
// particular value
  
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
          // create a linked hashmap
        LinkedHashMap<Integer, Integer> LHM
            = new LinkedHashMap<>();
  
          // add mappings
        LHM.put(2, 6);
        LHM.put(4, 1);
        LHM.put(5, 10);
        int value = 2;
  
          // check if it has a value
        if (LHM.containsValue(value))
            System.out.println("True");
        else
            System.out.println("False");
    }
}
Producción

False

Complejidad Temporal: O(1).

Publicación traducida automáticamente

Artículo escrito por sambhavshrivastava20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *