📜  如何检查 LinkedHashMap 是否包含Java中的值?

📅  最后修改于: 2022-05-13 01:55:04.952000             🧑  作者: Mango

如何检查 LinkedHashMap 是否包含Java中的值?

LinkedHashMap是Java中的一个预定义类,类似于HashMap,与HashMap不同,包含key及其各自的值,在LinkedHashMap中保留插入顺序。任务是检查 LinkedHashMap 是否包含Java中的任何值。为了检查我们必须遍历我们的 LinkedHashMap,如果我们得到任何值,我们将返回 true。

示例

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

方法一:(使用 entrySet() 方法)

使用 For-each 循环遍历 LinkedHashMap。创建 check()函数以判断 LinkedHasMap 或 nor 中是否存在任何值。遍历 LinkedHashMap 如果我们得到任何值返回 true 否则返回 false。

伪代码:

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

句法:

linked_hash_map.entrySet()

参数:该方法不带任何参数。

返回值:该方法返回一个与 LinkedHashMap 具有相同元素的集合。

例子:

Java
// Java program to check if LinkedHashMap contains a
// particular value
  
import java.util.*;
import java.io.*;
  
class GFG {
  
    public static boolean
    check(LinkedHashMap lhm, int value)
    {
        // iterate the map and find
        for (Map.Entry it :
             lhm.entrySet()) {
            if (it.getValue() == value)
                return true;
        }
  
        return false;
    }
    public static void main(String[] args)
    {
        // create a linked Hashmap
        LinkedHashMap 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");
    }
}


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 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");
    }
}


输出
False

时间复杂度:O(n)。

方法二:(使用 containsValue() 方法)

这种方法是解决我们问题的最佳方法。在上述方法中,我们遍历 LinkedHashMap。在这种方法中,我们直接使用我们的预定义函数来检查我们的值。

算法

句法:

Linked_Hash_Map.containsValue(Object Value)

参数:该方法只接受一个 Object 类型的参数Value ,并引用映射应该由映射内的任何键检查其映射的值。

返回值:如果检测到值的映射,则该方法返回布尔值 true,否则返回 false。

例子:

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 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");
    }
}
输出
False

时间复杂度: O(1)。