數組是連續的內存分配,而 LinkedList 是隨機放置在內存中的元素塊,這些元素鏈接在一起,其中一個塊保存內存中另一個塊的地址。有時根據要求或由於內存中的空間問題,在進取的世界中有更大的代碼塊,有必要將數組轉換為列表。這裏演示了數組到 LinkedList 的轉換。
方法:
- 使用 Collections 類的 asList() 方法
- 使用 Collections 類的 addAll() 方法
方法一:使用 Collections 類的 asList() 方法
此方法與 Collection.toArray() 結合,充當基於數組的 API 和基於集合的 API 之間的橋梁。返回的列表被序列化並實現了 RandomAccess。這在 O(1) 時間內運行。
用法:
public static List asList(T... a) ;
參數:此方法采用需要轉換為 List 的數組 a。這裏的參數數組的工作方式類似於對象數組參數。
Approach:
- 創建一個數組。
- 將數組轉換為列表。
- 使用構造函數從 List 創建 LinkedList。
示例
Java
// Java Program to convert Array to LinkedList
// Importing array, List & LinkedList classes from
// java.util package
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Ccreate a string Array
String[] strArr = { "A", "B", "C", "D", "E" };
// Convert array to list
List<String> list = Arrays.asList(strArr);
// Create a LinkedList and
// pass List in LinkedList constructor
LinkedList<String> linkedList
= new LinkedList<String>(list);
// Display and print all elements of LinkedList
System.out.println("LinkedList of above array:"
+ linkedList);
}
}
輸出
LinkedList of above array:[A, B, C, D, E]
方法二:使用 Collections 類的 addAll() 方法
此方法用於將作為參數傳遞給此函數的集合中的所有元素附加到列表的末尾,同時記住集合迭代器的返回順序。
用法:
boolean addAll(Collection C) ;
參數:參數 C 是 ArrayList 的集合。它是需要將其元素附加到列表末尾的集合。
返回值:如果至少執行了一個附加操作,則該方法返回 true,否則返回 false。
方法:
- 創建一個數組。
- 創建一個空的 LinkedList。
- 使用以兩個對象為參數的集合類的 addAll() 方法。
- 第一個對象作為要轉換的位置
- 要轉換的第二個對象。
示例
Java
// Java Program to convert Array to LinkedList
// Importing array, List & LinkedList, Collections classes
// from java.util package
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Create an Array
// here string type
String[] strArr = { "G", "E", "E", "K", "S" };
// Create an empty LinkedList
LinkedList<String> linkedList
= new LinkedList<String>();
// Append all elements of array to linked list
// using Collections.addAll() method
Collections.addAll(linkedList, strArr);
// Print the above LinkedList received
System.out.println("Converted LinkeddList:"+linkedList);
}
}
輸出
Converted LinkeddList:[G, E, E, K, S]
相關用法
- Java LinkedList轉Array用法及代碼示例
- Java ArrayList轉LinkedList用法及代碼示例
- Java LinkedList轉String用法及代碼示例
- Java HashMap轉LinkedList用法及代碼示例
- Java LinkedList removeFirst()用法及代碼示例
- Java LinkedList getFirst()用法及代碼示例
- Java LinkedList getLast()用法及代碼示例
- Java LinkedList clear()用法及代碼示例
- Java LinkedList addFirst()用法及代碼示例
- Java LinkedList addLast()用法及代碼示例
- Java LinkedList addAll()用法及代碼示例
- Java LinkedList set()用法及代碼示例
- Java LinkedList removeLast()用法及代碼示例
- Java LinkedList get()用法及代碼示例
- Java LinkedList size()用法及代碼示例
- Java LinkedList indexOf()用法及代碼示例
注:本文由純淨天空篩選整理自mukulsomukesh大神的英文原創作品 Convert Array to LinkedList in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。