小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
三种方法:1使用toArray(T[] a) 2使用toArray() 3用Java8流将集合对象转换为数组的方法
import java.util.HashSet;
import java.util.Set;
public class Test1 {
public static void main(String[] args) {
Set<Integer> allSet = new HashSet<>();
allSet.add(1);allSet.add(2);allSet.add(3);allSet.add(4);allSet.add(5);allSet.add(6);
printArray(toArray1(allSet));
printArray(toArray2(allSet));
printArray(toArray3(allSet));
}
private static void printArray(Object[] arr) {
for (Object o : arr) {
System.out.print(o + ",");
}
System.out.println();
}
// 方法一:用toArray(new Integer[]{})方法直接转为Integer数组
public static Integer[] toArray1(Set<Integer> allSet) {
Integer[] arr = allSet.toArray(new Integer[]{});
return arr;
}
// 方法二:用toArray()方法直接转为Object数组
public static Integer[] toArray2(Set<Integer> allSet) {
Object[] objArr = allSet.toArray();
Integer[] intArr = new Integer[objArr.length];
for (int i = 0; i < objArr.length; i++) {
intArr[i] = (Integer) objArr[i];
}
return intArr;
}
// 方法三:用Java8流将集合对象转换为数组的方法
public static Integer[] toArray3(Set<Integer> allSet) {
Integer[] arr = allSet.stream().toArray(Integer[]::new);
return arr;
}
}
复制代码