當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java LinkedHashMap轉List用法及代碼示例

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]

時間複雜度:在)


相關用法


注:本文由純淨天空篩選整理自kushwahp1234大神的英文原創作品 How to Convert LinkedHashMap to List in Java?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。