如何在 Java 中将ArrayList转换为LinkedList

原文:https://www.studytonight.com/java-examples/how-to-convert-arraylist-to-linkedlist-in-java

在这篇文章中,我们将把 Java 中的ArrayList转换为LinkedListArrayListLinkedList都是类,分别用于实现基于数组的列表和基于LinkedList的列表。

ArrayList将数据存储在类似数组的列表中时,LinkedList使用LinkedList数据结构来存储数据。两个类都实现了 Java 集合框架层次中的List接口。

要转换ArrayList,有几种方法,这里我们使用的一些方法,比如将 ArraList 作为参数传递给LinkedList构造器,或者使用add()方法逐个添加 ArrayList 元素,或者使用 stream API 将 stream 元素获取到 LinkedList。

举例时间:

举个例子把ArrayList转换成LinkedList。在这里,我们将ArrayList元素传递给LinkedList构造器,并获得一个新的数据结构。

import java.util.ArrayList;
import java.util.LinkedList;

public class Main {
    public static void main(String[] args){
        ArrayList<String> arrList = new ArrayList<>();
        arrList.add("Mango");
        arrList.add("Apple");
        arrList.add("Orange");
        System.out.println(arrList);
        // ArrayList to LinkedList
        LinkedList<String> linkList = new LinkedList<>(arrList);
        System.out.println("Linked List:");
        System.out.println(linkList);
    }
}

【芒果、苹果、橙子】 LinkedList: 【芒果、苹果、橙子】

另一个例子:

让我们创建另一个示例来将ArrayList转换为LinkedList。这里,我们使用add()方法向 LinkedList 添加元素。

import java.util.ArrayList;
import java.util.LinkedList;

public class Main {
    public static void main(String[] args){
        ArrayList<String> arrList = new ArrayList<>();
        arrList.add("Mango");
        arrList.add("Apple");
        arrList.add("Orange");
        System.out.println(arrList);
        // ArrayList to LinkedList
        LinkedList<String> linkList = new LinkedList<>();
        for (String arr : arrList) {
            linkList.add(arr);
        }
        System.out.println("Linked List:");
        System.out.println(linkList);
    }
}

【芒果、苹果、橙子】 LinkedList: 【芒果、苹果、橙子】

示例:Java 8

如果您使用的是 Java 8 或更高版本,那么您可以利用Java 流 APIArrayList转换为LinkedList。这里,我们使用 stream 将ArrayList元素收集到 LinkedList 中。

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args){
        ArrayList<String> arrList = new ArrayList<>();
        arrList.add("Mango");
        arrList.add("Apple");
        arrList.add("Orange");
        System.out.println(arrList);
        // ArrayList to LinkedList
        LinkedList<String> linkList = arrList.stream().collect(Collectors.toCollection(LinkedList::new));
        System.out.println("Linked List:");
        System.out.println(linkList);
    }
}

【芒果、苹果、橙子】 LinkedList: 【芒果、苹果、橙子】