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.操作动态创建出来的数组
*/
}
}

Java使用Array类创建多维数组的更多相关文章

  1. Java 反射 Array动态创建数组

    Java 反射 Array动态创建数组 @author ixenos 注:java.lang.reflect.Array 是个反射工具包,全是静态方法,创建数组以多维数组为基准,一维数组只是特殊实现 ...

  2. java基础-引用数据类型之二维数组(Array)

    java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...

  3. Java集合---Array类源码解析

    Java集合---Array类源码解析              ---转自:牛奶.不加糖 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Prim ...

  4. Python创建二维数组(关于list的一个小坑)

    0.目录 1.遇到的问题 2.创建二维数组的办法 3.1 直接创建法 3.2 列表生成式法 3.3 使用模块numpy创建 1.遇到的问题 今天写Python代码的时候遇到了一个大坑,差点就耽误我交作 ...

  5. C语言 动态创建二维数组

    /*C语言 如何动态创建二维数组 转化为一维数组申请数组,创建和释放都比较简单 */ #include <stdlib.h> #include <stdio.h> #inclu ...

  6. c/c++ 图的创建(二维数组法)

    c/c++ 图的创建(二维数组法) 图的概念 图由点和线组成 知道了图中有多少个点,和哪些点之间有线,就可以把一张图描绘出来 点之间的线,分有方向和无方向 创建图 创建图,实际就是创建出节点,和节点之 ...

  7. C#中创建二维数组,使用[][]和[,]的区别

    C#中,我们在创建二维数组的时候,一般使用arr[][]的形式,例如 int[][] aInt = new int[2][]; 但声明二维数组还有一种方法,是使用arr[,]的形式.两者有什么区别呢? ...

  8. 静态方法,Arrays类,二维数组

    一.静态方法 静态方法属于类的,可以直接使用类名.方法名()调用. 静态方法的声明 访问修饰符 static 类型 方法名(参数列表) { //方法体 } 方法的作用:一个程序分解成几个方法,有利于快 ...

  9. 常用的Arrays类和二维数组以及二分法的介绍

    ---恢复内容开始--- 1.Array类 Array中包含了许多数组的常用操作,较为常见的有: (1)快速输出 import java.util.Arrays; public class Test{ ...

随机推荐

  1. CORS实现跨域Ajax

    客户端 #!/usr/bin/env python import tornado.ioloop import tornado.web class MainHandler(tornado.web.Req ...

  2. 205. Isomorphic Strings两个数组变形记,是否符合规则

    [抄题]: Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic if the ...

  3. 下拉刷新和上拉加载更多(第三方框架MJRefresh)

    #import "RootViewController.h" #import "MJRefresh.h" @interface RootViewControll ...

  4. c语言输入数据

    比如要求输入一行数据(注意:没有给出输入多少个),并且以空格隔开那么就可以如下进行判断 '; ],temp,i=; while(c!='\n') { scanf("%d%c",&a ...

  5. 最短路径Dijkstar算法和Floyd算法详解(c语言版)

    博客转载自:https://blog.csdn.net/crescent__moon/article/details/16986765 先说说Dijkstra吧,这种算法只能求单源最短路径,那么什么是 ...

  6. Entity Framework Tutorial Basics(13):Database First

    Database First development with Entity Framework: We have seen this approach in Create Entity Data M ...

  7. 解决java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext问题

    使用ClassPathXmlApplicationContext加载项目时, ClassPathXmlApplicationContext context = new ClassPathXmlAppl ...

  8. [译]Javascript中的do-while循环

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  9. [译]Javascript substring实例

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  10. SpringMVC的理解

    SpringMVC工作原理 SpringMvc是基于过滤器对servlet进行了封装的一个框架,我们使用的时候就是在web.xml文件中配置DispatcherServlet类:SpringMvc工作 ...