📜  如何在Java中将 ArrayList 转换为 HashSet?

📅  最后修改于: 2022-05-13 01:54:34.578000             🧑  作者: Mango

如何在Java中将 ArrayList 转换为 HashSet?

ArrayList 在Java中,ArrayList 可以有重复项并维护插入顺序。

HashSet : HashSet 是 Set 的实现类。它不允许重复并在内部使用 Hashtable。

有四种方法可以将 ArrayList 转换为 HashSet :

  1. 使用构造函数。
  2. 通过迭代每个元素并将其添加到 HashSet 中来使用 add() 方法。
  3. 使用 addAll() 方法将所有元素添加到 HashSet 中。
  4. 使用流

方法一:使用构造函数

在本例中,我们将创建一个 ArrayList 对象并将其传递给 HashSet 的构造函数。是最简单的转换成HashSet的方法。

Java
// Java program to convert ArrayList
// to HashSet using constructor
  
import java.util.HashSet;
import java.util.ArrayList;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        
        // adding elements to ArrayList object
        ArrayList gfg = new ArrayList<>();
         
  
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // pass ArrayList object into the HashSet object
        // constructor
        HashSet hashSet = new HashSet<>(gfg);
  
        // printing every element in Set
  
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}


Java
// Java program to convert ArrayList
// to HashSet using add() method
  
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList gfg = new ArrayList<>();
        
        // adding element to ArrayList
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
          // adding each Arraylist element inside the HashSet
        HashSet hashSet = new HashSet<>();
        
        // printing each element
        gfg.forEach(value -> { hashSet.add(value); });
          
        
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}


Java
// Java program to convert ArrayList
// to HashSet using addAll() method
  
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList gfg = new ArrayList<>();
  
        // adding element into ArrayList object
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // adding ArrayList to hashset using addAll() method
        HashSet hashSet = new HashSet<>();
        hashSet.addAll(gfg);
  
        // printing each element of hashset
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}


Java
// Java program to convert ArrayList
// to HashSet using streams
  
import java.io.*;
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.util.stream.*;
  
class GFG {
    public static void main(String[] args)
    {
        ArrayList gfg = new ArrayList<>();
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // using stream to convert the ArrayList into set
        // then typecast into HashSet
        HashSet hashSet
            = (HashSet)gfg.stream().collect(
                Collectors.toSet());
  
        // printing values of the hashSet
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}


输出
FANG
data structure
competitve programming
Interviews

方法 2:使用 add() 方法:

在这里,我们将遍历 Arraylist 并添加 HashSet 中的每个元素。

Java

// Java program to convert ArrayList
// to HashSet using add() method
  
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList gfg = new ArrayList<>();
        
        // adding element to ArrayList
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
          // adding each Arraylist element inside the HashSet
        HashSet hashSet = new HashSet<>();
        
        // printing each element
        gfg.forEach(value -> { hashSet.add(value); });
          
        
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
输出
FANG
data structure
competitve programming
Interviews

方法 3:使用addAll()方法

在此示例中,我们将使用 HashSet 中的 addALL() 方法简单地添加完整的 ArrayList 对象。

Java

// Java program to convert ArrayList
// to HashSet using addAll() method
  
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList gfg = new ArrayList<>();
  
        // adding element into ArrayList object
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // adding ArrayList to hashset using addAll() method
        HashSet hashSet = new HashSet<>();
        hashSet.addAll(gfg);
  
        // printing each element of hashset
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
输出
FANG
data structure
competitve programming
Interviews

方法 4:使用Streams

在这种方法中,我们将使用流来迭代每个 ArrayList 元素,然后使用 collect 方法将每个项目添加到集合中。流是Java 8 的一部分

Java

// Java program to convert ArrayList
// to HashSet using streams
  
import java.io.*;
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.util.stream.*;
  
class GFG {
    public static void main(String[] args)
    {
        ArrayList gfg = new ArrayList<>();
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // using stream to convert the ArrayList into set
        // then typecast into HashSet
        HashSet hashSet
            = (HashSet)gfg.stream().collect(
                Collectors.toSet());
  
        // printing values of the hashSet
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
输出
FANG
data structure
competitve programming
Interviews