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 ...
随机推荐
- ES02 变量、数组、对象、方法
1 变量 1.1 变量的声明 利用var关键字来声明变量,例如: var a = 100; <!DOCTYPE html> <html> <head> <me ...
- windows xp版本的chrome浏览器去哪里下载呢?
http://www.265.com/chrome-download/?slice 265没记错的话应该是GOOGLE的一个导航网站吧,所以可信度是比较高的.
- ARC073D Simple Knapsack
传送门 题目大意 给你n个物品,你有一个容量为W的背包,每一个物品都有它的重量和价值,让你从n个中选取若干个,使得总重量不超过背包的上限,而且使得价值最大. 分析 首先我们不难发现由于W很大,所以这并 ...
- 1003 NOIP 模拟赛Day2 城市建设
题面不好找放一个吧. Description 描述 在有$N$个地级市的H省,政府为了城市开发建设,决定先修路,后造房子,以吸引外来人员.一开始每个城市中有$b_i$个住户,而在两个城市$u,v$之间 ...
- jquery 的插件 extend
让我们来讲解 jquery中的插件机制 $.fn.extend and() $.extend()这两个方法都接受一个参数,类型为Object.Object对象的“名/值对”分别代表“函数或方 ...
- Opera福利谷歌
文章介绍 看到这个文章时候,感觉还可以,之前天行也是酱紫的,但是现在不知道怎么的已经完全用不了了.就试了下这个欧鹏,还可以,朋友有不少需要访问谷歌的,就收藏下了. Opera介绍 Opera浏览器,是 ...
- 在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#)
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了 ...
- UIStepper更加详细的图文理解
前言 UIStepper是一个微调器,该控件的外观和UISwitch相似,但该控件上包含了+,-两个按钮,共同用于控制某个值的增.减. 它继承了UIControl基类,默认属于活动控件,它可以与用户交 ...
- uoj#119. 【UR #8】决战圆锥曲线(线段树+复杂度分析)
题解 传送门 题解 然而要我来说我感觉只是个爆搜啊-- //minamoto #include<bits/stdc++.h> #define R register #define ll l ...
- OkHttp 3.x 源码解析之Interceptor 拦截器
拦截器 Java里的拦截器是动态拦截Action调用的对象.它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行,同时也提供了一种可以提 ...