「java动态数组怎么使用」java实现动态数组

博主:adminadmin 2023-03-21 21:28:08 682

今天给各位分享java动态数组怎么使用的知识,其中也会对java实现动态数组进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA中如何动态改变数组长度 动态数组 arraycopy

java中的数组一旦被定义长度是不允许修改长度的,如果题主希望实现类似的功能可以采用ArrayList。ArrayList的底层结构就是数组。当ArrayList实例化时会默认设置一个长度,当长度不够用时会自动扩展现有长度的1/2.(假设初始数组长度为10,现在变成了15)

System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length )能够实现数组复制的功能。

假设有数组a(src),数组b(dest),我们希望把a数组中从下标为2(srcPos)长度为3(length)的元素复制到b的下标为4(destPos)开始的元素中。java代码示例如下:

int a = [1,3,5,7,9];

int b = [2,4,6,8,0,2,4];

System.arraycopy(a,2,b,4,3);

//最终b的内容为[2,4,6,8,5,7,9];

但是如果注意API的话会发现arraycopy有几个限制

1、a,b的元素类型必须相同(int和Integer这里也是需要区分的)

2、数组不能越界,也就是srcPos+length不能超过a的长度;desPos+length也不能超过b的长度,否则就会报数组越界的一场。这也说明了无法实现数组长度的动态扩展。

java中动态数组运用

import java.util.ArrayList;

public class TestMain {

public static void main(String[] args) {

ArrayListString a=new ArrayListString();

System.out.println("-----------------增----------------------------");

a.add("测试1");

a.add("测试2");

a.add("测试3");

System.out.println("动态数组的长度为:"+a.size());

System.out.println("动态数组增加的元素为:"+a.get(0));

System.out.println("数组中 的内容为:"+getAll(a));

System.out.println("-----------------删----------------------------");

System.out.println("即将要删除的元素为:"+a.get(a.size()-1));

a.remove(a.size()-1);

System.out.println("删除后动态数组的长度为:"+a.size());

System.out.println("删除后数组中 的内容为:"+getAll(a));

System.out.println("-----------------改----------------------------");

a.set(0, "修改");

System.out.println("动态数组的长度为:"+a.size());

System.out.println("修改后数组中 的内容为:"+getAll(a));

}

public static String getAll(ArrayListString a){

StringBuffer bf=new StringBuffer();

for(int i=0;ia.size();i++){

if(ia.size()-1){

bf=bf.append(a.get(i));

bf.append(" || ");

}else{

bf=bf.append(a.get(i));

}

}

return bf.toString();

}

}

辛苦自己打得 希望对你有帮助

Java动态数组

ArrayList就是一个可以变成的数组(你可以这样理解)

ArrayListE 其中E是一个泛型,例如,ArrayListString array=new ArrayListString();则表示新建一个存放String的可变长数组。

ArrayListObject array1=new ArrayListObject()则为一个存放Object的可变长数组。

记住,这种样式的E,有的用T表示,它的意思为泛型。泛型是什么就不介绍了。

而且,E只能是一个类的类名,如果你是变为ArrayListint则是错误的,要用ArrayListInteger才可以

java动态数组怎么使用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java实现动态数组、java动态数组怎么使用的信息别忘了在本站进行查找喔。