当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。