❶ java中,如何实现动态为int类型数组增加长度
一般是这样做的。当访问越界,或者添加数据超过数组当前的length时候。
重新申请一个大于等于越界长度的数组。
然后通过Sysmem.array将原先数组的内容拷贝到新的内存块中。
如果删除了某些元素,使得capacity(容器大小)远大于实际的length时。可以重新构建trim后的数组并过去。
这也是ArrayList中的实现方法。System.array是一个native方法,拷贝效率比较高。
❷ JAVA中如何动态改变数组长度 动态数组 array
//首先创建一个借坦慎口
packagecom.dp.iterator;
publicinterfaceCollection{
voidadd(Objecto);
intsize();
Iteratoriterator();
}
packagecom.dp.iterator;
importcom.dp.iterator.Collection;
//实现上面的借口
{
//创建一个数组给10个长度。
Object[]objects=newObject[10];
//数组的索引
intindex=0;
publicvoidadd(Objecto){
//判断当前索引的值是否大于数组的长度
if(index==objects.length){
Object[]newObjects=newObject[objects.length*2];
System.array(objects,0,newObjects,0,objects.length);
objects=newObjects;
}
objects[index]=o;
index++;
}
//相等于孙信槐数组的length方法
publicintsize(){
returnindex;
}
//容器迭代器
publicIteratoriterator(){
returnnewArrayListIterator();
}
//内则友部类
{
privateintcurrentIndex=0;
@Override
publicbooleanhasNext(){
if(currentIndex>=index)returnfalse;
elsereturntrue;
}
@Override
publicObjectnext(){
Objecto=objects[currentIndex];
currentIndex++;
returno;
}
}
}
//测试类
packagecom.dp.iterator;
importcom.dp.iterator.ArrayList;
importcom.dp.iterator.LinkedList;
publicclassTest{
publicstaticvoidmain(String[]args){
Collectionc=newArrayList();
for(inti=0;i<15;i++){
c.add(newCat(i));
}
System.out.println(c.size());
Iteratorit=c.iterator();
while(it.hasNext()){
Objecto=it.next();
System.out.print(o+"");
}
}
}
❸ JAVA怎样获取数组长度
1、打开Eclipse,新建项目,在项目src目录新建一个类,为了更好操作数组,Java为数组提供length属性,用来获取数组长度,语法格式如下。
❹ java动态数组长度问题
public class ArrayTest {
// array(Object src, int srcStartIndex, Object dest, int destStartIndex,
// int length)
// 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。
//锋者燃 srcStartIndex:原数组中要开始复制的第一个元素的位置
// destStartIndex: 目标数组中要开始替换的第一个银虚元素的位置
// length: 要复制的嫌茄元素的个数
public static void main(String[] args) {
// 静态初始化两个长度不同的数组
int src[] = { 1, 2, 3, 4, 5, 6 };
int dest[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
// 将数组src的4个元素到数组dest中
System.array(src, 1, dest, 2, 4);// 输出数组dest
❺ Java的动态数组怎么做
Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
1.语法:add()是添加一个新的元素,
remove()删除一个元素,
size()获得ArrayList的长度。
ArrayList的下标是从0开始。
2.示例代码
import java.util.ArrayList;
public class JavaArrayList {
public static void main(String[]args) {
//Java动态数组的初始化
ArrayList al=new ArrayList();
//向Java动态数组中添加数据
al.add("a");
al.add("b");
al.add("c");
//输出Java动态数组
for(int i=0;i<al.size();i++) {
String alEach=(String)al.get(i);
System.out.println(alEach);
}
//删除数组中的某个元素,删除第二个元素
al.remove(1);
//修改Java动态数组,把新的元素放到第二个位置
al.add(1,"2");
//输出Java动态数组
for(int i=0;i<al.size();i++) {
String alEach=(String)al.get(i);
System.out.println(alEach);
}
}
}
输出如下:
a
b
c
a
2
c
PS:java的一维动态数组一般是使用集合的:ArrayList,HashMap等
泛型:
ArrayList<T> a = new ArrayList<T>();
T是你数组里 存的类型 比如String类型的 比如int的
你可以去看下泛型 就明白了