Java ArrayListHashSet的转换

原文:https://www.studytonight.com/java-examples/java-arraylist-to-hashset-conversion

在这篇文章中,我们将把 Java 中的ArrayList转换为 HashSetArrayListList接口的实现类,而HashSetSet接口的实现类。

如果我们想得到一个独特元素的集合,那么我们可以使用 HashSet。ArrayListHashSet的转换将删除ArrayList中所有重复的元素。

虽然有几种方法可以将 ArrayList 转换成 HashSet,但是这里我们使用了一些常见的方法,比如使用 add()方法或者 HashSet 构造器或者最新 java 版本的 流 API

举例时间:

让我们举个例子从ArrayList中获取 HashSet。在这里,我们将ArrayList传递给 HashSet 构造器,以获取唯一元素的集合。请看下面的例子。

import java.util.ArrayList;
import java.util.HashSet;

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

【芒果,苹果,橘子,苹果】 HashSet: 【苹果,芒果,橘子】

示例:

让我们创建另一个示例来将ArrayList转换为 HashSet。这里,我们使用 add()方法将每个元素逐个添加到 HashSet 中,并获得一个唯一的元素集合。

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

【芒果,苹果,橘子,苹果】 HashSet: 【苹果,芒果,橘子】

示例:Java 8

如果您使用的是 Java 8 或更高版本,那么您可以利用 流 API 的优势,使我们的转换代码更加简洁和紧凑。这里,我们使用 stream 将ArrayList元素收集为 HashSet。

import java.util.ArrayList;
import java.util.HashSet;
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");
        arrList.add("Apple");
        System.out.println(arrList);
        // ArrayList to HashSet
        HashSet<String> hashSet = arrList.stream().collect(Collectors.toCollection(HashSet::new));
        System.out.println("HashSet:");
        System.out.println(hashSet);
    }
}

【芒果,苹果,橘子,苹果】 HashSet: 【苹果,芒果,橘子】