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轉Two Arrays用法及代碼示例
- Java LinkedHashMap clear()用法及代碼示例
- Java LinkedHashMap removeEldestEntry()用法及代碼示例
注:本文由純淨天空篩選整理自kushwahp1234大神的英文原創作品 How to Convert LinkedHashMap to List in Java?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。