Java数据结构系列(3)——Set变成int数组

  TreeSet集合转为整型数组,Hashset集合转为整型数组,Set集合转为整型数组的方法类似:
  方法1:采用toArray(new Integer[] {})方法直接转为Integer数组,然后再转为整型数组;
import java.util.Set;
import java.util.TreeSet;
public class JavaTest1 {
    public static void main(String args[]) {
        Set<Integer> allSet = new TreeSet<Integer>();
        allSet.add(3);
        allSet.add(2);
        allSet.add(1);
        allSet.add(4);
        // Object[] num1 = allSet.toArray();
        int[] num = SetToInt(allSet);
        for (int j = 0; j < num.length; j++) {
            System.out.print(num[j] + " ");
        }
    }
    // 将set集合转为整型int数组的方法
    private static int[] SetToInt(Set<Integer> allSet) {
        // 先将set集合转为Integer型数组
        Integer[] temp = allSet.toArray(new Integer[] {});//关键语句
 
        // 再将Integer型数组转为int型数组
        int[] intArray = new int[temp.length];
        for (int i = 0; i < temp.length; i++) {
            intArray[i] = temp[i].intValue();
        }
        return intArray;
    }
}

方法2:也可以使用toArray()方法直接转为Object对象数组,然后再逐个转为整型数组:

import java.util.Set;
import java.util.TreeSet;
public class JavaTest1 {
    public static void main(String args[]) {
        Set<Integer> allSet = new TreeSet<Integer>();
        allSet.add(3);
        allSet.add(2);
        allSet.add(1);
        allSet.add(4);
        Object[] obj = allSet.toArray();//先讲set集合转为Object对象数组(向上转型)
        int temp[] = new int[obj.length];
        for (int i = 0; i < obj.length; i++) {
            temp[i] = (int) obj[i];//将Object对象数组转为整型数组(强制向下转型)
            System.out.print(temp[i] + " ");
        }
    }
}
原文地址:https://www.cnblogs.com/SupremeBoy/p/12490495.html