java动态数组笔记
动态数组
在java.lang.reflect包下提供了Array类,包括一系列static方法,通过这些方法可动态的创建数组、给元素赋值、取出元素值等等
//理解数组引用——下面定义的objs数组存的数据类型是可以多样的
Object[] objs=new Object[10]; objs[0] = new String(); objs[1]= new double(); objs[2]= new Student(); //student是一个基于基础数据类型的复杂数据类型 自定义的数据类型
Array提供的主要方法如下:
static Object newInstance(Class<?>componentType,int[] dim):创建一个具有指定的组件类型和维度的新数组 //理解其中的int[]dim数组含义:
int[] dim={2,3,4};//dim是三维数组,每个维度长度分别为2,3,4
Object obj=Array.newInstance(Object.class,dim);
//上面两行等价于: int[][][]obj=new int[2][3][4]
static void setXxx(Object array,int index,xxx val):给数组对象array中第index个元素赋值val
static xxx getXxx(Object array,int index):以xxx形式返回指定数组对象...
思考:这里只有一个决定位置的元素,当需要从多维数组取值时,如何确定元素的位置(例如二维数组第几行第几列)???
代码(应用):其实只需一个元素index就可以找到位置,下面是操作代码:
降维,多维数组其本质都是一维数组
//创建一个含有10*15*18个元素的整型数组
int dims[]={10,15,18};
Object arr=Array.newInstance(int class,dims);
//给arr[5][8][10]赋值
Object arr5=Array.get(arr,5);
Object arr58=Array.get(arr5,8);
Array.set(arr58,10,30);
//取出arr[5][8][10]值并输出
Object elem=Array.get(arr58,10);
System.out.println(elem);
static void getXxx(Object array,int index):以xxx形式返回指定数组对象array中第index个元素值
java动态数组笔记的更多相关文章
- Java动态数组
其中java动态数组: Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList. ...
- 三 基于Java动态数组手写队列
手写队列: package dataStucture2.stackandqueue; import com.lt.datastructure.MaxHeap.Queue; import dataStu ...
- 常用数据结构-线性表及Java 动态数组 深究
[Java心得总结六]Java容器中——Collection在前面自己总结的一篇博文中对Collection的框架结构做了整理,这里深究一下Java中list的实现方式 1.动态数组 In compu ...
- 二 基于java动态数组手写栈
package dataStucture2.stack; import dataStucture2.array.MyDynamicArray; /** * 基于动态数组手写栈 * 设计时,栈中仅栈顶对 ...
- java动态编译笔记
1 前言 Java的动态编译知识,真真在实际开发中并不是经常遇到.但是学习java动态编译有助于我们从更深一层次去了解java.对掌握jdk的动态代理模式,这样我们在学习其他一些开源框架的时候就能够知 ...
- 有关Java动态数组的一个小问题
前言 问题描述 今天遇到一个关于集合的问题,觉得比较有趣,记录一下,这个问题是:定义一个用户类,至少包含姓名,年龄,生日,qq邮箱,初始化10个用户,利用String操作,提取qq到List集合中,姓 ...
- java 动态数组
package testjavapro; import java.util.*; public class testjava { public static void main(String args ...
- 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解
数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...
- int[]里数的个数怎么由输入决定?-----动态数组。
java中如何创建动态数组?(摘自百度知道) Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util ...
随机推荐
- 项目一:第十二天 1、常见权限控制方式 2、基于shiro提供url拦截方式验证权限 3、在realm中授权 5、总结验证权限方式(四种) 6、用户注销7、基于treegrid实现菜单展示
1 课程计划 1. 常见权限控制方式 2. 基于shiro提供url拦截方式验证权限 3. 在realm中授权 4. 基于shiro提供注解方式验证权限 5. 总结验证权限方式(四种) 6. 用户注销 ...
- PrototypePattern(23种设计模式之一)
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大 ...
- jquery checkbox (选中和取消选中事件on("change"))做笔记
$("#btn_Company").attr("disabled", "disabled"); $("#agency") ...
- jquery 使用记录
1.jquery 筛选一个属性符合多个条件 var myTag=$("input[id=myid][name=myname][type=button]").length; 2.j ...
- PHP中抽象类与接口的区别
PHP中抽象类与接口的区别 抽象类abstract 概念 定义为抽象的类不能被实例化.任何一个类,如果有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的类. 继承一个抽象类的时候,子类必须定义 ...
- Spring第六篇---AOP
接着Spring第五篇讲 我们今天将叙述以下几个知识点 1 什么是AOP AOP 是一种思想 横向重复 纵向抽取 在软件业,AOP为Aspect Oriented Programming的缩写,意 ...
- 《Head First Servlets & JSP》-11-Web应用部署
Web目录 WAR文件 WAR文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式. 建立WAR文件时,就是把整个Web应用结构(去掉Web应用上下文目录,就是把WEB-INF之上的一级目录 ...
- IntelliJ Idea 免费激活方法
文章介绍 文章不错,指的研究一下,idea的联网激活确实有可行性,但是上有政策,下有对策,如何才能保护版权,是一个值得深思的问题. 文章属于转载,文末有文章来源,转载注明出处. 1 激活码激活 到网站 ...
- java Servlet学习笔记(一)
访问机制 (https://pan.baidu.com/share/link?shareid=3055126243&uk=3355579678&fid=1073713310362078 ...
- C#数据类型及差异(复习专用)
一.数据类型 值类型 类型 描述 范围 默认值 bool 布尔值 True 或 False False byte 8 位无符号整数 0 到 255 0 char 16 位 Unicode 字符 U + ...