ArrayList 類是一個可調整大小的數組,存在於 java.util 包中。 Java 中的數組和 ArrayList 之間的區別在於,數組的大小無法修改(即,如果要向數組追加/添加或刪除元素,則必須創建一個新數組。但是,可以在 ArrayList 中添加/附加或刪除元素,而無需創建新數組。
java.util 包中的 Hashset 類用於創建使用哈希表存儲數據項的集合。 HashSet 使用散列機製存儲元素。HashSet 隻包含唯一元素,允許空值。 HashSet 不維護插入順序,元素根據其哈希碼插入。 HashSet 是搜索操作的最佳方法。
為了將 HashSet 轉換為 Arraylist,我們需要使用 ArrayList 構造函數並將 HashSet 實例作為構造函數參數傳遞。它將所有元素從 HashSet 複製到新創建的 ArrayList。
Java
// Java program to convert HashSet to ArrayList
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
public static void main(String[] args)
{
HashSet<String> flower_set = new HashSet<>();
flower_set.add("tulip");
flower_set.add("rose");
flower_set.add("orchid");
flower_set.add("marie-gold");
// Pass hashset to arraylist constructor
ArrayList<String> flower_array
= new ArrayList<>(flower_set);
// all elements from hashset are copied to arraylist
System.out.println(
"Elements of flower Arraylist are:");
System.out.println(flower_array);
// using the get method of Arraylist to get the
// element at index=0
System.out.print("Element at index 0 is:"
+ flower_array.get(0) + " ");
}
}
輸出
Elements of flower Arraylist are: [marie-gold, rose, tulip, orchid] Element at index 0 is:marie-gold
還有另一種將 HashSet 對象轉換為 ArrayList 的方法是使用 Java 8 中引入的流 API。我們將使用 Collectors 類的 toList() 方法將輸入數據轉換為 List,但我們希望它是 ArrayList,因此我們將進行類型轉換在前麵使用此 (ArrayList<TypeOfObject>) 將其放入 ArrayList。
Java
// Java Program to convert the HashSet to ArrayList
// Using Stream Api Java 8
import java.io.*;
import java.util.*;
import java.util.stream.*;
class GFG {
public static void main(String[] args)
{
HashSet<String> flower_set = new HashSet<>();
flower_set.add("tulip");
flower_set.add("rose");
flower_set.add("orchid");
flower_set.add("marie-gold");
// Using stream api
// and typecasting the List object to ArraylList
ArrayList<String> flower_array
= (ArrayList<String>)flower_set.stream()
.collect(Collectors.toList());
// all elements from hashset are copied to arraylist
System.out.println(
"Elements of flower Arraylist are:");
System.out.println(flower_array);
// using the get method of Arraylist to get the
// element at index=0
System.out.print("Element at index 0 is:"
+ flower_array.get(0) + " ");
}
}
輸出
Elements of flower Arraylist are: [marie-gold, rose, tulip, orchid] Element at index 0 is:marie-gold
相關用法
- Java ArrayList轉HashSet用法及代碼示例
- 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用法及代碼示例
注:本文由純淨天空篩選整理自Gunjanpaul大神的英文原創作品 Convert HashSet to a ArrayList in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。