LinkedHashMap 是 Java 中的预定义类,类似于 HashMap,包含键及其各自的值,与 HashMap 不同,在 LinkedHashMap 中保留了插入顺序。
我们将 LinkedHashMap 转换为 ArrayList。 Map 以 Key 和 Value 的形式存储数据,同时将 LinkedHashMAp 转换为 ArrayList,我们将 Map 的键存储在单独的 List 中,类似地将 value 存储在另一个 List 中,查看示例和算法以便更好地理解。
例:
Input:{ 1 = 3, 4 = 2, 6 = 5, 2 = 1 } output:Key -> [ 1, 4, 6, 2 ] value -> [ 3, 2, 5, 1] Input:{ 2 = 10, 4 = 4, 6 = 23, 8 = 12 } output:Key -> [ 2, 4, 6, 6 ] value -> [ 10, 4, 23, 12]
算法:
- 在 LinkedHashMap 中使用 For/while 循环进行迭代
- 为键和它们的尊重值取两个不同的 ArrayList。
- 现在遍历 LinkedhashMap 中的 for-Each 循环,并使用其定义的 ArrayList 添加键和值
伪代码:
for (Map.Entry<Object, Object> it:l.entrySet()) { l1.add(it.getKey()); l2.add(it.getValue()); } Here, l is LinkedHashMap l1 is Arraylist for keys l2 is Arraylist for Values
例:
Java
// Java program to convert LinkedHashMap
// to List
import java.util.*;
import java.io.*;
class GFG {
public static void main(String[] args)
{
LinkedHashMap<Object, Object> l = new LinkedHashMap<>();
l.put(2, 5);
l.put(4, 6);
l.put(5, 16);
l.put(6, 63);
l.put(3, 18);
// Taking two ArrayList
ArrayList<Object> l1 = new ArrayList<>();
ArrayList<Object> l2 = new ArrayList<>();
for (Map.Entry<Object, Object> it:l.entrySet()) {
l1.add(it.getKey());
l2.add(it.getValue());
}
System.out.print("Key -> ");
System.out.println(l1);
System.out.print("Value -> ");
System.out.println(l2);
}
}
输出
Key -> [2, 4, 5, 6, 3] Value -> [5, 6, 16, 63, 18]
时间复杂度:在)
相关用法
- Java ArrayList转LinkedHashMap用法及代码示例
- Java LinkedHashMap clear()用法及代码示例
- Java LinkedHashMap removeEldestEntry()用法及代码示例
注:本文由纯净天空筛选整理自kushwahp1234大神的英文原创作品 How to Convert LinkedHashMap to List in Java?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。