首頁 >Java >java教程 >將ArrayList轉換為Java中的LinkedHashmap

將ArrayList轉換為Java中的LinkedHashmap

Linda Hamilton
Linda Hamilton原創
2025-02-07 11:16:10193瀏覽

Convert ArrayList to LinkedHashMap in Java

與常規hashmap不同,Java中的LinkedHashmap保持了元素的插入順序。 將陣列列表轉換為linkedhashmap需要為每個陣列元素分配密鑰。 最簡單的方法將陣列索引用作密鑰。 在陣列列表和linkedhashmaps之間的迭代和分類行為相似。

>這是轉換過程的分解,以及Java代碼示例,說明了不同的方法:

算法:

    初始化:
  1. 創建一個空的linkedhashmap。
  2. 迭代:
  3. 迭代通過arraylist。 >
  4. >鍵 - 值對創建:
  5. 對於陣列列表中的每個元素,將其索引用作鍵,元素本身作為值。 >
  6. >插入:
  7. 將鍵值對添加到linkedhashmap。 返回:
  8. 返回填充的linkedhashmap。
  9. > java代碼示例:

方法1:使用循環

這是最直接的方法。

>

方法2:使用Java流

<code class="language-java">import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class ArrayListToLinkedHashMap {

    public static <t> LinkedHashMap<integer t> convert(List<t> arrayList) {
        LinkedHashMap<integer t> linkedHashMap = new LinkedHashMap<>();
        for (int i = 0; i < arrayList.size(); i++) {
            linkedHashMap.put(i + 1, arrayList.get(i)); //Index +1 as key
        }
        return linkedHashMap;
    }

    public static void main(String[] args) {
        List<integer> arrayList = new ArrayList<>(List.of(5, 16, 7, 1997, 2001));
        LinkedHashMap<integer integer> linkedHashMap = convert(arrayList);
        System.out.println("LinkedHashMap: " + linkedHashMap);
    }
}</integer></integer></integer></t></integer></t></code>
>

這種方法利用Java流以更簡潔的解決方案。 >兩種方法都達到相同的結果,將陣列列表轉換為linkedhashmap,其中鍵為索引(從1開始),而值是來自陣列列表的元素。 選擇最適合您的編碼樣式和項目要求的方法。 流式的方法通常被認為是更優雅的,並且對於更大的列表而言更有效。 請記住要處理潛在的異常(例如

),如果您的arraylist可能包含null值。

以上是將ArrayList轉換為Java中的LinkedHashmap的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn