当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。