Java如何将整数集合转换成int数组
Java中的集合对象是在其中存储其他对象的引用的对象。java.util包提供了集合的类和接口。有四个主要的收集接口,即集合列表,队列,映射。
Set-set对象是一个存储元素组的集合,它动态增长,并且不允许重复元素。
HashSet和LinkedHashSet是实现Set接口的类。您可以通过实现这两个类之一来创建Set对象。
示例
import java.util.HashSet; public class SetExample { public static void main(String args[]) { //实例化HashSet HashSet<String> hashSet = new HashSet<String>(); //填充HashSet hashSet.add("Mango"); hashSet.add("Apple"); hashSet.add("Cherries"); hashSet.add("Banana"); System.out.println(hashSet); } }
输出结果
[Apple, Mango, Cherries, Banana]
将Set对象转换为数组
您可以通过多种方式将集合对象转换为数组-
add每个元素-可以使用foreach循环将Set对象的每个元素添加到数组中。
示例
import java.util.HashSet; import java.util.Set; public class SetExample { public static void main(String args[]) { //实例化HashSet Set<Integer> hashSet = new HashSet<Integer>(); //填充HashSet hashSet.add(1124); hashSet.add(3654); hashSet.add(7854); hashSet.add(9945); System.out.println(hashSet); //创建一个空的整数数组 Integer[] array = new Integer[hashSet.size()]; //将集合对象转换为整数数组 int j = 0; for (Integer i: hashSet) { array[j++] = i; } } }
输出结果
[1124, 3654, 9945, 7854]
使用toArray()方法-Set接口的toArray()方法接受一个数组,使用当前set对象中的所有元素填充该数组,然后将其返回。使用此方法,可以将Set对象转换为数组。
示例
import java.util.HashSet; import java.util.Set; public class SetExample { public static void main(String args[]) { //实例化HashSet Set<Integer> hashSet = new HashSet<Integer>(); //填充HashSet hashSet.add(1124); hashSet.add(3654); hashSet.add(7854); hashSet.add(9945); //创建一个空的整数数组 Integer[] array = new Integer[hashSet.size()]; //将Set对象转换为整数数组 hashSet.toArray(array); System.out.println(Arrays.toString(array)); } }
输出结果
[1124, 3654, 9945, 7854]
使用Java8:因为引入了Java8流,并且这些流提供了将集合对象转换为数组的方法。
示例
import java.util.Arrays; import java.util.HashSet; import java.util.Set; public class SetExample { public static void main(String args[]) { //实例化HashSet Set<Integer> hashSet = new HashSet<Integer>(); //填充HashSet hashSet.add(1124); hashSet.add(3654); hashSet.add(7854); hashSet.add(9945); System.out.println(hashSet); //创建一个空的整数数组 Integer[] array = hashSet.stream().toArray(Integer[]::new); System.out.println(Arrays.toString(array)); } }
输出结果
[1124, 3654, 9945, 7854]