Java ArrayList 转换为 LinkedHashSet

JavaBeginner
立即练习

介绍

在本实验中,我们将学习如何在 Java 中将 ArrayList 转换为 LinkedHashSetLinkedHashSet 是一个利用链表数据结构来实现 Java 中 Set 的类,当我们需要将类似数组的列表转换为唯一的数据集合时,它非常有用。LinkedHashSet 用于收集唯一的数据。

创建一个 ArrayList

在 Java 中创建一个 ArrayList,并使用 add() 方法向其中添加一些元素。

import java.util.ArrayList;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");
    }
}

使用 Stream API 将 ArrayList 转换为 LinkedHashSet

你可以使用 Java 8 的 Stream API 将 ArrayList 转换为 LinkedHashSetCollectors.toCollection() 方法将 ArrayList 的元素收集到 LinkedHashSet 中,以获取唯一的元素。

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

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using stream API
        LinkedHashSet<String> linkedHashSet = arrayList.stream().collect(Collectors.toCollection(LinkedHashSet::new));
    }
}

使用 add() 方法将 ArrayList 转换为 LinkedHashSet

你也可以通过使用 add() 方法逐个添加元素,将 ArrayList 转换为 LinkedHashSet,从而获得一个唯一元素的集合。

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using add() method
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>();
        for (String element : arrayList) {
            linkedHashSet.add(element);
        }
    }
}

使用构造函数将 ArrayList 转换为 LinkedHashSet

你也可以通过将 ArrayList 作为参数传递给 LinkedHashSet 的构造函数,从而从 ArrayList 中获取一个 LinkedHashSet

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using constructor
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(arrayList);
    }
}

打印 ArrayList 和 LinkedHashSet

在将 ArrayList 转换为 LinkedHashSet 后,让我们打印它们以验证唯一元素。

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class ArrayListToLinkedHashSet {
    public static void main(String[] args) {
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.add("Apple");
        arrayList.add("Mango");
        arrayList.add("Orange");
        arrayList.add("Mango");

        //ArrayList to LinkedHashSet using constructor
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(arrayList);

        //print ArrayList
        System.out.println("ArrayList: " + arrayList);

        //print LinkedHashSet
        System.out.println("LinkedHashSet: " + linkedHashSet);
    }
}

编译并运行代码

打开终端窗口,导航到代码文件所在的目录。使用 javac 命令编译代码,并使用 java 命令运行它。

javac ArrayListToLinkedHashSet.java
java ArrayListToLinkedHashSet

总结

在本实验中,我们学习了如何使用三种不同的方法将 ArrayList 转换为 LinkedHashSet:Stream API、add() 方法和构造函数。我们还打印了 ArrayListLinkedHashSet 以验证唯一元素。