LinkedList cung cấp phương thức toArray() để chuyển thành mảng.
Cách 1: toArray() trả về Object[]
import java.util.Arrays;
import java.util.LinkedList;
public class LinkedListToArray {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
list.add("JavaFX"); list.add("Java"); list.add("WebGL");
list.add("OpenCV"); list.add("OpenNLP");
Object[] objArray = list.toArray();
String[] strArray = new String[objArray.length];
for (int i = 0; i < objArray.length; i++) {
strArray[i] = (String) objArray[i];
}
System.out.println(Arrays.toString(strArray));
}
}
Cách 2: toArray(T[] a) - Trả về typed array (Khuyên dùng)
String[] strArray = list.toArray(new String[0]); // Hoặc Java 11+: list.toArray(String[]::new); System.out.println(Arrays.toString(strArray));
[JavaFX, Java, WebGL, OpenCV, OpenNLP]
Giải thích
toArray(): Trả vềObject[], phải cast thủ công.toArray(new String[0]): Truyền mảng rỗng kiểu String → trả vềString[]trực tiếp, không cần cast. Hiệu suất tốt (JVM tối ưu).toArray(String[]::new)(Java 11+): Dùng constructor reference, code sạch hơn.
Lưu ý: Mảng trả về là copy mới, độc lập với LinkedList gốc. Thay đổi mảng không ảnh hưởng list và ngược lại.