「java动态数组怎么使用」java实现动态数组
今天给各位分享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动态数组怎么使用的信息别忘了在本站进行查找喔。