Java使用Array类创建多维数组
1.创建一维数组
import java.lang.reflect.Array; public class ArrayTest { public static void main(String[] args) { try { // 创建一个元素类型为String,长度为10的数字 Object arr = Array.newInstance(String.class, 10); // 依次为arr数组中index为5,6的元素赋值 Array.set(arr, 5, "Jack"); Array.set(arr, 6, "John"); Array.set(arr,7,"zhansgt"); // 依次取出arr数组中index为5,6的元素的值 Object o1 = Array.get(arr, 5); Object o2 = Array.get(arr, 6); Object o3=Array.get(arr,7); // 输出arr数组中index为5,6的元素 System.out.println(o1); System.out.println(o2); System.out.println(o3); } catch (Throwable e) { System.out.println(e); } } }
2.创建二维数组
import java.lang.reflect.Array; public class ArrayTest { /* * 使用Array类动态创建多维数组 */ public static void main(String[] args) { //创建一个元素类型String,维度为[5][10]的数组 Object arr=Array.newInstance(String.class, 5,10); //为二维数组赋值 //获取第一维度为4的数组 Object firstIndex=Array.get(arr, 4); Array.set(firstIndex, 6, "zhangxun"); Array.set(firstIndex,7,"lili"); Array.set(firstIndex,9,"wangs"); //获取第二维度为3的数组 Object new_firstIndex=Array.get(arr, 3); Array.set(new_firstIndex, 5, "mada"); //将arr数组转换为arr_str二维数组并输出 String[][] arr_str=(String[][])arr; System.out.println(arr_str[4][6]); System.out.println(arr_str[4][7]); System.out.println(arr_str[4][9]); System.out.println(arr_str[3][5]); } }
3.创建三维数组
import java.lang.reflect.Array; public class ArrayTest { /* * 使用Array类动态创建多维数组 */ public static void main(String[] args) { //创建一个元素类型String,维度为[3][5][10]的数组 Object arr=Array.newInstance(String.class, 3,5,10); //获得第一维度的数组,这个数组是一个二维数组 Object firstIndex=Array.get(arr,2); //第一种赋值方式 Array.set(firstIndex, 3, new String[]{"a1","a2"}); //第二种方式,指定下标赋值 Object secondIndex=Array.get(firstIndex, 4); Array.set(secondIndex, 7, "b1"); //将arr数组转换为字符数组arr_str String[][][] arr_str=(String[][][])arr; //输出arr_str的内容 System.out.println(arr_str[2][3][0]); System.out.println(arr_str[2][3][1]); System.out.println(arr_str[2][4][7]); /* * 1.通过Array类创建多维数组 * 2.获取指定的维度 * 3.插入数据 * 4.操作动态创建出来的数组 */ } }