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{ ...
随机推荐
- JAVA基础知识总结11(异常)
异常: 就是不正常.程序在运行时出现的不正常情况.其实就是程序中出现的问题.这个问题按照面向对象思想进行描述,并封装成了对象.因为问题的产生有产生的原因.有问题的名称.有问题的描述等多个属性信息存在. ...
- sqlplus--sqlldr基础运用
a.ctl load data infile * ...
- C++——const
参考:https://www.cnblogs.com/Forever-Kenlen-Ja/p/3776991.html ; //修饰变量,a不能该内容(更改为其他的值) int* const p = ...
- Mysql GROUP_CONCAT 使用注意事项
GROUP_CONCAT 函数返回一个字符串结果,该结果由分组中的值连接组合而成,常和 GROUP BY 连用. 如果需要自定义分隔符可以使用 SEPARATOR. 示例: SELECT GROUP_ ...
- JAVA语法规则总结
单继承多实现 抽象类 抽象方法 使用关键字:abstract修饰的方法就是抽象方法; 抽象方法的形式:只有方法的声明,没有方法体; 抽象方法一般存在于父类中,相当于强制要求子类必须重写该方法,相当于 ...
- php的变量引用详解
<?php class SimpleClass { // property declaration public $var = 'a default value'; // method decl ...
- 10、R常用命令
转载:http://www.bio-info-trainee.com/579.html 关于R语言包的一些操作,挺重要的!!! R的包(package)通常有两种:1 binary package:这 ...
- apache的Base64编解码
import org.apache.commons.codec.binary.Base64; String Base64.encodeBase64URLSafeString(byte[]) byte ...
- 在windows远程提交任务给Hadoop集群(Hadoop 2.6)
我使用3台Centos虚拟机搭建了一个Hadoop2.6的集群.希望在windows7上面使用IDEA开发mapreduce程序,然后提交的远程的Hadoop集群上执行.经过不懈的google终于搞定 ...
- JavaScript中的Array.prototype.slice.call()方法学习
JavaScript中的Array.prototype.slice.call(arguments)能将有length属性的对象转换为数组(特别注意: 这个对象一定要有length属性). 但有一个例外 ...