📜  如何在Java中获取 LinkedHashMap 的所有值?

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

如何在Java中获取 LinkedHashMap 的所有值?

LinkedHashMap 是Java中预定义的类,类似于 HashMap,与 HashMap 不同,包含键及其各自的值。在 LinkedHashMap 中,插入顺序被保留。任务是获取 LinkedHashMap 中存在的所有值,这些值与它们各自的键链接。使用迭代或预定义函数来获取所有值。

例子:

Input : Key-> 5 : Value->4
    Key-> 8 : Value->2
    Key-> 6 : Value->20
    Key-> 9 : Value->18
    Key-> 1 : Value->66

Output:

Values : [4, 2, 20, 18, 66]

方法一:

每次迭代后,使用 for-each 循环遍历 LinkedHashMap 将相应键的值存储在列表中。在列表中存储所有值后,打印列表。

伪代码:

for (Map.Entry i : LHM.entrySet()) {
            list.add(i.getValue());
}

这里,LHM 是 LinkedHashMap 的名称。该列表是我们列表的名称。

句法:

hash_map.entrySet()

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

例子:

Java
// Java program to get all the values of the LinkedHashMap
  
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // create an instance of linked hashmap
        LinkedHashMap LHM
            = new LinkedHashMap<>();
  
        // Add mappings
        LHM.put(5, 4);
        LHM.put(8, 2);
        LHM.put(6, 20);
        LHM.put(9, 18);
        LHM.put(1, 66);
  
        List list = new ArrayList<>();
  
        // Add the values to a list
        for (Map.Entry i :
             LHM.entrySet()) {
            list.add(i.getValue());
        }
  
        System.out.println("values : " + list);
    }
}


Java
// Java program to get all the values of the LinkedHashMap
  
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // create an instance of linked hashmap
        LinkedHashMap LHM
            = new LinkedHashMap<>();
  
        // Add mappings
        LHM.put(5, 4);
        LHM.put(8, 2);
        LHM.put(6, 20);
        LHM.put(9, 18);
        LHM.put(1, 66);
  
        // get the values of the map
        Collection values = LHM.values();
  
        // print the values list
        System.out.println("values : " + values);
    }
}


Java
// Java program to get all the values of the LinkedHashMap
  
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // create an instance of linked hashmap
        LinkedHashMap LHM
            = new LinkedHashMap<>();
  
        // Add mappings
        LHM.put(5, 4);
        LHM.put(8, 2);
        LHM.put(6, 20);
        LHM.put(9, 18);
        LHM.put(1, 66);
  
        // get the collection of values
        Collection values = LHM.values();
  
        // remove a mapping
        values.remove(20);
  
        // print the values collection
        System.out.println("values : " + values);
  
        // print Linked hashmap
        System.out.println("LinkedHashMap : " + LHM);
  
        // Add mapping
        LHM.put(10, 9);
  
        // print values collection
        System.out.println("values : " + values);
  
        // print linked hash map
        System.out.println("LinkedHashMap : " + LHM);
    }
}


输出
values : [4, 2, 20, 18, 66]

时间复杂度: O(n)

方法二

这种方法是我们问题的最佳方法,即获取 LinkedHashMap 的所有值。在上述方法中,我们使用迭代来获取所有值。在这种方法中,我们使用预定义的方法来获取 LinkedHashMap 的各个键的值。

使用预定义的方法来存储 LinkedHashMap 中存在的每个键的所有值。在我们的列表中存储所有值后打印列表。

伪代码:

Collection values = LHM.values();

这里, LHM是 LinkedHashMap values 的名称,是包含所有值的列表的名称。

句法:

Hash_Map.values()

返回值:该方法用于返回包含地图所有值的集合视图。

例子:

Java

// Java program to get all the values of the LinkedHashMap
  
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // create an instance of linked hashmap
        LinkedHashMap LHM
            = new LinkedHashMap<>();
  
        // Add mappings
        LHM.put(5, 4);
        LHM.put(8, 2);
        LHM.put(6, 20);
        LHM.put(9, 18);
        LHM.put(1, 66);
  
        // get the values of the map
        Collection values = LHM.values();
  
        // print the values list
        System.out.println("values : " + values);
    }
}
输出
values : [4, 2, 20, 18, 66]

时间复杂度:O(1)。

values() 方法返回的 Collection 视图由原始 LinkedHashMap 对象支持。

Java

// Java program to get all the values of the LinkedHashMap
  
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // create an instance of linked hashmap
        LinkedHashMap LHM
            = new LinkedHashMap<>();
  
        // Add mappings
        LHM.put(5, 4);
        LHM.put(8, 2);
        LHM.put(6, 20);
        LHM.put(9, 18);
        LHM.put(1, 66);
  
        // get the collection of values
        Collection values = LHM.values();
  
        // remove a mapping
        values.remove(20);
  
        // print the values collection
        System.out.println("values : " + values);
  
        // print Linked hashmap
        System.out.println("LinkedHashMap : " + LHM);
  
        // Add mapping
        LHM.put(10, 9);
  
        // print values collection
        System.out.println("values : " + values);
  
        // print linked hash map
        System.out.println("LinkedHashMap : " + LHM);
    }
}
输出
values : [4, 2, 18, 66]
LinkedHashMap : {5=4, 8=2, 9=18, 1=66}
values : [4, 2, 18, 66, 9]
LinkedHashMap : {5=4, 8=2, 9=18, 1=66, 10=9}