如何在 Java 中把数组转换成集合

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

在这篇文章中,我们将使用 Java co de 将一个数组转换为 set。数组是基于索引的数据结构,用于存储相似类型的数据,而集合是唯一元素的集合。

这里,我们有几个将数组转换为集合的例子,请始终记住,集合只包含唯一的元素,因此在转换过程中,数组的重复元素不会添加到集合中。

这里,我们使用addAll()asList()toSet()方法从数组元素中获取集合。addAll()方法是一个Collections类方法,它将数组元素添加到指定的集合(列表、集合等)中

举个例子

让我们举一个将数组转换为集合的例子。这里,我们使用 addAll()方法向集合中添加元素。这很容易从数组中设置。

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args){
        String[] fruits = {"Apple", "Orange", "Banana","Orange"};
        for (int i = 0; i < fruits.length; i++) {
            System.out.println(fruits[i]);
        }
        Set<String> fruitsSet = new HashSet<>();
        Collections.addAll(fruitsSet, fruits);
        System.out.println(fruitsSet);    
    }
}

苹果 橙子 香蕉 橙子 【苹果、橙子、香蕉】

示例:

我们可以使用asList()方法获取转换数组进行设置。asList()方法返回数组的列表,该列表被构造器进一步转换为集合。见下面的例子。

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args){
        String[] fruits = {"Apple", "Orange", "Banana","Orange"};
        for (int i = 0; i < fruits.length; i++) {
            System.out.println(fruits[i]);
        }
        Set<String> fruitsSet = new HashSet<>(Arrays.asList(fruits));
        System.out.println(fruitsSet);    
    }
}

苹果 橙子 香蕉 橙子 【苹果、橙子、香蕉】

示例:Java 8

让我们创建另一个例子来从数组元素中获取集合。这里,我们使用 Collectors 类的toSet()方法,从流元素中返回集合。如果您想使用流来获取集合元素,这个示例非常有用。

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;
public class Main {
    public static void main(String[] args){
        String[] fruits = {"Apple", "Orange", "Banana","Orange"};
        for (int i = 0; i < fruits.length; i++) {
            System.out.println(fruits[i]);
        }
        Set<String> fruitsSet = new HashSet<>();
        fruitsSet = Arrays.stream(fruits).collect(Collectors.toSet());
        System.out.println(fruitsSet);    
    }
}

苹果 橙子 香蕉 橙子 【苹果、橙子、香蕉】