Java ArrayList 转换为 LinkedHashSet

JavaJavaBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/BasicSyntaxGroup(["`Basic Syntax`"]) java(("`Java`")) -.-> java/DataStructuresGroup(["`Data Structures`"]) java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/FileandIOManagementGroup(["`File and I/O Management`"]) java(("`Java`")) -.-> java/ConcurrentandNetworkProgrammingGroup(["`Concurrent and Network Programming`"]) java/BasicSyntaxGroup -.-> java/for_loop("`For Loop`") java/BasicSyntaxGroup -.-> java/output("`Output`") java/DataStructuresGroup -.-> java/collections_methods("`Collections Methods`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("`Classes/Objects`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/arraylist("`ArrayList`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/linkedlist("`LinkedList`") java/FileandIOManagementGroup -.-> java/stream("`Stream`") java/ConcurrentandNetworkProgrammingGroup -.-> java/working("`Working`") subgraph Lab Skills java/for_loop -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} java/output -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} java/collections_methods -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} java/classes_objects -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} java/arraylist -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} java/linkedlist -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} java/stream -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} java/working -.-> lab-117469{{"`Java ArrayList 转换为 LinkedHashSet`"}} end

创建 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 以验证唯一元素。

您可能感兴趣的其他 Java 教程