當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java HashSet轉ArrayList用法及代碼示例


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




相關用法


注:本文由純淨天空篩選整理自Gunjanpaul大神的英文原創作品 Convert HashSet to a ArrayList in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。