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


Java LinkedHashMap轉Two Arrays用法及代碼示例


LinkedHashMap 是 java 中的預定義類,類似於 HashMap 。 LinkedHashMap 和 HashMap 之間的唯一區別是 LinkedHashMap 保留插入順序,而 HashMap 不保留插入順序。 LinkedHashMap 在 java 中可以轉換為兩個數組,其中一個數組用於 LinkedHashMap 中的鍵,另一個數組用於值。

例子:

Input : LinkedHashMap = [2=6, 3=4, 5=7, 4=6]
Output:
Array of keys = [2, 3, 5, 4]
Array of Values = [6, 4, 7, 6]

Input : LinkedHashMap = [1=a, 2=b, 3=c, 4=d]
Output:
Array of keys = [1, 2, 3, 4]
Array of Values = [a, b, c, d]

算法:

  1. 使用鍵和相應的值在 LinkedHashMap 中進行輸入。
  2. 創建一個數組,數據類型與 LinkedHashMap 中的鍵相同。
  3. 創建另一個數組,其數據類型與 LinkedHashMap 中的值相同。
  4. 開始LinkedHashMap遍曆。
  5. 將每個鍵和值複製到兩個數組中。
  6. 遍曆完成後,打印兩個數組。

下麵是上述方法的實現:

Java


// Java Program to Convert LinkedHashMap to Two Arrays 
import java.io.*; 
import java.util.*; 
  
class GFG { 
    public static void main(String[] args) 
    { 
        LinkedHashMap<Integer, Integer> lhm 
            = new LinkedHashMap<>(); 
  
        lhm.put(2, 6); 
        lhm.put(3, 4); 
        lhm.put(5, 7); 
        lhm.put(4, 6); 
        lhm.put(6, 8); 
  
        Integer[] Keys = new Integer[lhm.size()]; 
  
        Integer[] Values = new Integer[lhm.size()]; 
        int i = 0; 
        
        // Using for-each loop 
        for (Map.Entry mapElement : lhm.entrySet()) { 
            Integer key = (Integer)mapElement.getKey(); 
  
            // Add some bonus marks 
            // to all the students and print it 
            int value = ((int)mapElement.getValue()); 
  
            Keys[i] = key; 
            Values[i] = value; 
            i++; 
        } 
        
        // printing all the element of array contain keys 
        System.out.print("Array of Key -> "); 
        for (Integer key : Keys) { 
            System.out.print(key + ", "); 
        } 
  
        // iterate value array 
        System.out.println(); 
        System.out.print("Array of Values -> "); 
        for (Integer value : Values) { 
            System.out.print(value + ", "); 
        } 
    } 
}
輸出
Array of Key -> 2, 3, 5, 4, 6, 
Array of Values -> 6, 4, 7, 6, 8, 

時間複雜度:在)



相關用法


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