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


Java ArrayList轉HashMap用法及代碼示例


Array List 可以轉換成 HashMap,但是 HashMap 不維護 ArrayList 的順序。為了維護順序,我們可以使用 LinkedHashMap,它是 HashMap 的實現。

本質上,有兩種不同的方法可以將 ArrayList 轉換為 Hashmap-

  1. 使用 ArrayList 迭代
  2. 將 ArrayList 迭代與 LinkedHashMap 結合使用

使用 ArrayList 迭代:

在這裏,我們隻需要對ArrayList的每個元素進行迭代,就可以將元素轉換為鍵值對並存儲在HashMap中。

Java


// Java program to convert ArrayList
// to HashMap
  
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
  
public class ArrayListExample {
    public static void main(String[] args)
    {
         
        // ArrayList of string
        ArrayList<String> languageList
           = new ArrayList<>(Arrays.asList("Java", "C++", "Python", 
                                           "PHP", "NodeJS"));
  
        System.out.println(
            "-------------ArrayList---------------");
       
        
        // printing the ArrayList
        for (String language:languageList)
        {
           System.out.println(language);
        }
  
        System.out.println(
            "--------------HashMap----------------");
         
        // convertArrayListToHashMap() method directly 
        // converts ArrayList to Hashmap
        HashMap<String, Integer> languageMap = convertArrayListToHashMap(languageList);
    
        // printing the HashMap
        for (Map.Entry<String, Integer> entry:languageMap.entrySet()) {
  
            System.out.println(entry.getKey() + ":"
                               + entry.getValue());
        }
    }
  
    private static HashMap<String, Integer>
    convertArrayListToHashMap(ArrayList<String> arrayList)
    {
  
        HashMap<String, Integer> hashMap = new HashMap<>();
  
        for (String str:arrayList) {
  
            hashMap.put(str, str.length());
        }
  
        return hashMap;
    }
}
輸出
-------------ArrayList---------------
Java
C++
Python
PHP
NodeJS
--------------HashMap----------------
Java:4
C++:3
PHP:3
NodeJS:6
Python:6

使用帶有 LinkedHashMap 的 ArrayList 迭代:

  • 這裏將Array List轉換為HashMap,但HashMap不維護ArrayList的順序。
  • 為了維護順序,我們使用 LinkedHashMap,它是 HashMap 的一個實現,幫助我們維護元素的順序,我們可以很容易地將 Arraylist 轉換為 Hashmap。

Java


// Java program to convert ArrayList
// to HashMap
  
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.*;
  
public class ArrayListExample {
    public static void main(String[] args)
    {
        // ArrayList of string
        ArrayList<String> languageList
            = new ArrayList<>(Arrays.asList(
                "Java", "C++", "Python", "PHP", "NodeJS"));
  
        System.out.println(
            "-------------ArrayList---------------");
          
        // printing the ArrayList
        for (String language:languageList) {
  
            System.out.println(language);
        }
  
        System.out.println(
            "--------------HashMap----------------");
         
        // convertArrayListToHashMap() method directly 
        // converts ArrayList to HashMap
        HashMap<String, Integer> languageMap
            = convertArrayListToHashMap(languageList);
  
        
        // printing the HashMap
        for (Map.Entry<String, Integer> entry:
             languageMap.entrySet()) {
  
            System.out.println(entry.getKey() + ":"
                               + entry.getValue());
        }
    }
  
    private static HashMap<String, Integer>
                       convertArrayListToHashMap(ArrayList<String> arrayList)
    {
  
        LinkedHashMap<String, Integer> linkedHashMap
                                  = new LinkedHashMap<>();
  
        for (String str:arrayList) {
  
            linkedHashMap.put(str, str.length());
        }
  
        return linkedHashMap;
    }
}
輸出
-------------ArrayList---------------
Java
C++
Python
PHP
NodeJS
--------------HashMap----------------
Java:4
C++:3
Python:6
PHP:3
NodeJS:6




相關用法


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