如何在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}