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 ArrayList和HashSet的區別用法及代碼示例
- 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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。