java中如何实现动态数组的创建与赋值

最近,项目中需要实现:提取一组数据,每个数组都有自己的属性,这组数据的长度又未知,还可能变长,变短,我考虑一会,实现如下;

1.在oncreate前面,我声明两个数组

String  data1[ ][ ];//使用的时候,比如和adapter关联

String  data2[ ][ ];//提取数据,我这里是Poisaerh出来的数据

2.实例化数组,提取数据,判断二维数据的维数个数,比如我这里得知,有五个数据,每个数据有五个属性

data2 = new String[5][5];
//实例化

for(int i=0;i<5;i++){          //  赋值

data2[i][0]="超市名:"+market.get(i).name;

data2[i][1]="所在城市:"+market.get(i).city;

data2[i][2]="电话:"+market.get(i).phoneNum;

data2[i][3]= "是否有美食:"+String.valueOf(market.get(i).hasCaterDetails);

data2[i][4]= "地址:"+market.get(i).address;

}

3.赋值给data1

data1=new String[5][5];

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

data1[i][j]=data2[i][j];

}

}

这样,数组data1就可以动态改变,随着数据的多少改变

时间: 2024-10-27 18:17:05

java中如何实现动态数组的创建与赋值的相关文章

《C语言中动态数组的创建及引用》

C语言中动态数组的创建及引用 动态数组是相对于静态数组而言的,静态数组的长度是预定义好的,在整个程序中,一旦给定了数组大小后就无法改变,,而动态数组则不然,它可以根据程序需要重新指定数组的大小.动态数组的内存空间是由堆动态分配的,通过执行代码为其分配储存空间,只有程序执行到分配语句时,才为其分配储存空间. 对于动态数组,其创建比静态数组更麻烦一些,使用完必须由程序员自己释放,否则将引起内存泄漏,但是其使用非常灵活,能根据程序需要动态分配大小,因此相对于静态数组来说,使用动态数组的自由度更大. 对

Java基础---Java中的二维数组(三十四)

Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空间 或者 如: 2. 赋值 二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始 也可以在声明数组的同时为其赋值 如: 3. 处理数组 二维数组的访问和输出同一维数组一样,只是多了一个下标而已.在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素.如: 运行

一维动态数组和二维动态数组的创建和使用

#include<stdio.h> #include<malloc.h> void main(){ int *a,n=10,i; /* calloc()函数的原型是:(void *)calloc(unsigned n,unsigned size) calloc()函数用于向系统动态申请n个,每个占sizege字节的内存单元,函数返回值为所申请的内存空间首地址 malloc和calloc主要区别在于,当系统的内存只剩下一些非常小的碎片时,用calloc函数设计的动态数组的时间效率优于

java中的二维数组

简单讲:java中的二维数组就是"特殊的一维数组",称为一维数组中的一维数组. 只不过元素是一维数组而已. 也是有两种初始化方式:静态初始化和动态初始化. 访问最后一个元素: int[] []a=? a[a.length-1][a[a.length-1].length-1]这个表示是最后一个元素 遍历二维数组: for(int i=0;i<a.length;i++){     for(int j=0;j<a[i].length;j++){         System.ou

C语言中怎么求动态数组大小

先来个简单的例子 int a[] = {1,2,3}; int arr_len = 0; arr_len = sizeof(a)/sizeof(int); 解释:sizeof() 关键字是求出对象所占用的内存空间的大小,so, sizeof(a)是算出整个数组占用的空间的大小. 因为是整数数组,一个整数在32位系统上占用4个字节,不同的系统数值可能不同, 用sizeof(int)可以计算出 一个整数占用的内存空间大小.所以用sizeof(a)/sizeof(int)数组中有几个整数,也即算出了数

【Stackoverflow好问题】java中,如何判断数组Array是否包含指定的值

问题 java中,如何判断数组Array是否包含指定的值 精华回答 1. Arrays.asList(...).contains(...) 2. 使用 Apache Commons Lang包中的ArrayUtils.contains String[] fieldsToInclude = { "id", "name", "location" }; if ( ArrayUtils.contains( fieldsToInclude, "i

Java中两种动态代理的实现

本文介绍了java中两种动态代理的实现方法,Spring的动态代理也是基于这两种方法的.直接附上源码: 1.JDK实现 使用JDK实现动态代理必须使用接口 接口Work.java public interface Work { public void work(); } 实现类WorkImpl.java public class WorkImpl implements Work { @Override public void work() { System.out.println("我在工作&q

java中如何将char数组转化为String

1.直接在构造String时建立. char data[] = {'s', 'g', 'k'}; String str = new String(data); 2.String有方法可以直接转换. String.valueOf(char[] chr)就可以. 如: char[] cha = {'s','g','h'}; String n = String.valueOf(char[]); String.valueOf()函数支持将boolean ,char,char[],double,float

【8.0】关于Java和c的动态数组问题

1.java: java本身是没办法实现动态数组的,这个java本身不直接操作指针有关系[虽然我觉得理论上应该是和c一样,可以办到的,但java不提供,具体原因等知道了再补充].那么java的集合例如ArrayList集合这样的是如何实现"动态数组"的呢.其实原理是:ArrayList的底层是一个数组a[Object[] a = new Object[]], 如果需要改变ArrayList的大小,则丢弃ArrayList原先对a的引用, 然后new一个新的数组[ Object[] b