ArrayList:在 Java 中,ArrayList 可以有重复项以及维护插入顺序。
HashSet:HashSet是Set的实现类。它不允许重复并在内部使用 Hashtable。
ArrayList转HashSet有四种方式:
- 使用构造函数。
- 使用 add() 方法通过迭代每个元素并将其添加到 HashSet 中。
- 使用 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<String> gfg = new ArrayList<>();
gfg.add("data structure");
gfg.add("competitive programming");
gfg.add("Interviews");
gfg.add("FANG");
gfg.add("FANG");
// pass ArrayList object into the HashSet object
// constructor
HashSet<String> hashSet = new HashSet<>(gfg);
// printing every element in Set
for (String value:hashSet) {
System.out.println(value);
}
}
}
输出
FANG data structure Interviews competitive programming
方法二:使用 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<String> gfg = new ArrayList<>();
// adding element to ArrayList
gfg.add("data structure");
gfg.add("competitive programming");
gfg.add("Interviews");
gfg.add("FANG");
gfg.add("FANG");
// adding each Arraylist element inside the HashSet
HashSet<String> hashSet = new HashSet<>();
// printing each element
gfg.forEach(value -> { hashSet.add(value); });
for (String value:hashSet) {
System.out.println(value);
}
}
}
输出
FANG data structure Interviews competitive programming
方法3:使用Java Java.util.ArrayList.addall()用法及代码示例方法
在本例中,我们将使用 addALL() 方法在 HashSet 中简单地添加完整的 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<String> gfg = new ArrayList<>();
// adding element into ArrayList object
gfg.add("data structure");
gfg.add("competitive programming");
gfg.add("Interviews");
gfg.add("FANG");
gfg.add("FANG");
// adding ArrayList to hashset using addAll() method
HashSet<String> 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
方法四:使用流。
在这种方法中,我们将使用流迭代每个 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<String> gfg = new ArrayList<>();
gfg.add("data structure");
gfg.add("competitive programming");
gfg.add("Interviews");
gfg.add("FANG");
gfg.add("FANG");
// using stream to convert the ArrayList into set
// then typecast into HashSet<String>
HashSet<String> hashSet
= (HashSet<String>)gfg.stream().collect(
Collectors.toSet());
// printing values of the hashSet
for (String value:hashSet) {
System.out.println(value);
}
}
}
输出
FANG data structure Interviews competitive programming
相关用法
- Java HashSet转ArrayList用法及代码示例
- Java HashSet转TreeSet用法及代码示例
- Java HashSet转array用法及代码示例
- Java Array转HashSet用法及代码示例
- Java List转HashSet用法及代码示例
- Java ArrayList转LinkedList用法及代码示例
- Java HashMap转ArrayList用法及代码示例
- Java ArrayList转HashMap用法及代码示例
- Java ArrayList转LinkedHashMap用法及代码示例
- Java Vector转ArrayList用法及代码示例
- Java ArrayList转Vector用法及代码示例
- Java ArrayList转LinkedHashSet用法及代码示例
- Java TreeMap转ArrayList用法及代码示例
- Java String转ArrayList用法及代码示例
注:本文由纯净天空筛选整理自rajatagrawal5大神的英文原创作品 How to Convert ArrayList to HashSet in Java?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。