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.操作动态创建出来的数组
*/
}
}
Java使用Array类创建多维数组的更多相关文章
- Java 反射 Array动态创建数组
Java 反射 Array动态创建数组 @author ixenos 注:java.lang.reflect.Array 是个反射工具包,全是静态方法,创建数组以多维数组为基准,一维数组只是特殊实现 ...
- java基础-引用数据类型之二维数组(Array)
java基础-引用数据类型之二维数组(Array) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我们学习过了Java的一维数组,所谓的二维数组就是元素是一堆一维数组的数组,换 ...
- Java集合---Array类源码解析
Java集合---Array类源码解析 ---转自:牛奶.不加糖 一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Prim ...
- Python创建二维数组(关于list的一个小坑)
0.目录 1.遇到的问题 2.创建二维数组的办法 3.1 直接创建法 3.2 列表生成式法 3.3 使用模块numpy创建 1.遇到的问题 今天写Python代码的时候遇到了一个大坑,差点就耽误我交作 ...
- C语言 动态创建二维数组
/*C语言 如何动态创建二维数组 转化为一维数组申请数组,创建和释放都比较简单 */ #include <stdlib.h> #include <stdio.h> #inclu ...
- c/c++ 图的创建(二维数组法)
c/c++ 图的创建(二维数组法) 图的概念 图由点和线组成 知道了图中有多少个点,和哪些点之间有线,就可以把一张图描绘出来 点之间的线,分有方向和无方向 创建图 创建图,实际就是创建出节点,和节点之 ...
- C#中创建二维数组,使用[][]和[,]的区别
C#中,我们在创建二维数组的时候,一般使用arr[][]的形式,例如 int[][] aInt = new int[2][]; 但声明二维数组还有一种方法,是使用arr[,]的形式.两者有什么区别呢? ...
- 静态方法,Arrays类,二维数组
一.静态方法 静态方法属于类的,可以直接使用类名.方法名()调用. 静态方法的声明 访问修饰符 static 类型 方法名(参数列表) { //方法体 } 方法的作用:一个程序分解成几个方法,有利于快 ...
- 常用的Arrays类和二维数组以及二分法的介绍
---恢复内容开始--- 1.Array类 Array中包含了许多数组的常用操作,较为常见的有: (1)快速输出 import java.util.Arrays; public class Test{ ...
随机推荐
- 玩转Jquery
一 jquery简介 1 jquery是什么 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. jQuery是继prototype ...
- 如何选择RDBMS关系型数据库和Nosql非关系型数据库?
RDBMS关系型数据库和Nosql非关系型数据库区别: 一.RDBMS是关系型数据库模式: 1.二维模式,由行列组成. 2.非常强调事务原子性,例如用户提出一个请求,DB完整的去执行,如果报错就全部回 ...
- 深入理解js的变量提升和函数提升(转)
一.变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域.变量提升即将变量声明提升到它所在作用域的最开始的部分.上个简历的例子如: ...
- Luogu 4777 【模板】扩展中国剩余定理(EXCRT)
复习模板. 两两合并同余方程 $x\equiv C_{1} \ (Mod\ P_{1})$ $x\equiv C_{2} \ (Mod\ P_{2})$ 把它写成不定方程的形式: $x = C_{1} ...
- Django框架 之 模板语言
Django框架 之 模板语言 浏览目录 标签 过滤器 一.标签 Tags 1.普通变量 普通变量用{{ }} 变量名由数字.字母.下划线组成 点.在模板语言中用来获取对象相应的属性值 示例: 1 2 ...
- Tomact和XML配置文件
1 Http协议2 Tomcat服务器3 编写xml4 通过DTD约束编写指定格式的XML 5 通过Schema约束编写指定格式的XML6 使用D0M4J解析xml================== ...
- 关于css js文件缓存问题
什么情况下,要禁止静态文件缓存:1.经常可能要改动的 js, css.比如一个js文件引用如下<script src="test.js"></script> ...
- c# XML增删改查
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- java 英文笔记
JDBC涉及到的单词 Driver 驱动器 DriverManager (Manager 处理者,经理,管理人; 干事,理事; 〈美〉(政党等的)领袖; 策士,干才,干练的人;) create Sta ...
- vue配置vue-router
首先理清一下几个路由的基础概念: 1)route是一条路由,也就是映射,即A按钮→A内容,以数组形式存储 2)toutes:[]是一组路由,里面包含了若干条route,即route[{A按钮→A内容} ...