Array List 可以轉換成 HashMap,但是 HashMap 不維護 ArrayList 的順序。為了維護順序,我們可以使用 LinkedHashMap,它是 HashMap 的實現。
本質上,有兩種不同的方法可以將 ArrayList 轉換為 Hashmap-
- 使用 ArrayList 迭代
- 將 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
相關用法
- Java HashMap轉ArrayList用法及代碼示例
- Java ArrayList和HashMap的區別用法及代碼示例
- Java HashMap轉TreeMap用法及代碼示例
- Java HashMap轉LinkedList用法及代碼示例
- Java HashSet轉ArrayList用法及代碼示例
- Java ArrayList轉LinkedList用法及代碼示例
- Java ArrayList轉LinkedHashMap用法及代碼示例
- Java Vector轉ArrayList用法及代碼示例
- Java ArrayList轉Vector用法及代碼示例
- Java ArrayList轉LinkedHashSet用法及代碼示例
- Java TreeMap轉ArrayList用法及代碼示例
- Java String轉ArrayList用法及代碼示例
注:本文由純淨天空篩選整理自geetansh044大神的英文原創作品 Convert ArrayList to HashMap in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。