如何在Java中将 ArrayList 转换为 HashSet?
ArrayList :在Java中,ArrayList 可以有重复项并维护插入顺序。
HashSet : HashSet 是 Set 的实现类。它不允许重复并在内部使用 Hashtable。
有四种方法可以将 ArrayList 转换为 HashSet :
- 使用构造函数。
- 通过迭代每个元素并将其添加到 HashSet 中来使用 add() 方法。
- 使用 addAll() 方法将所有元素添加到 HashSet 中。
- 使用流
方法一:使用构造函数
在本例中,我们将创建一个 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