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