「java动态数组长度」数组长度JAVA
今天给各位分享java动态数组长度的知识,其中也会对数组长度JAVA进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java动态数组长度问题
public class ArraycopyTest {
// arraycopy(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个元素copy到数组dest中
System.arraycopy(src, 1, dest, 2, 4);// 输出数组dest
Java动态数组
ArrayList就是一个可以变成的数组(你可以这样理解)
ArrayListE 其中E是一个泛型,例如,ArrayListString array=new ArrayListString();则表示新建一个存放String的可变长数组。
ArrayListObject array1=new ArrayListObject()则为一个存放Object的可变长数组。
记住,这种样式的E,有的用T表示,它的意思为泛型。泛型是什么就不介绍了。
而且,E只能是一个类的类名,如果你是变为ArrayListint则是错误的,要用ArrayListInteger才可以
JAVA中如何动态改变数组长度 动态数组 arraycopy
//首先创建一个借口
package com.dp.iterator;
public interface Collection {
void add(Object o);
int size();
Iterator iterator();
}
package com.dp.iterator;
import com.dp.iterator.Collection;
//实现上面的借口
public class ArrayList implements Collection {
//创建一个数组给10个长度。
Object[] objects = new Object[10];
//数组的索引
int index = 0;
public void add(Object o) {
//判断当前索引的值是否大于数组的长度
if(index == objects.length) {
Object[] newObjects = new Object[objects.length * 2];
System.arraycopy(objects, 0, newObjects, 0, objects.length);
objects = newObjects;
}
objects[index] = o;
index ++;
}
//相等于数组的length方法
public int size() {
return index;
}
//容器迭代器
public Iterator iterator() {
return new ArrayListIterator();
}
//内部类
private class ArrayListIterator implements Iterator {
private int currentIndex = 0;
@Override
public boolean hasNext() {
if(currentIndex = index) return false;
else return true;
}
@Override
public Object next() {
Object o = objects[currentIndex];
currentIndex ++;
return o;
}
}
}
//测试类
package com.dp.iterator;
import com.dp.iterator.ArrayList;
import com.dp.iterator.LinkedList;
public class Test {
public static void main(String[] args) {
Collection c = new ArrayList();
for(int i=0; i15; i++) {
c.add(new Cat(i));
}
System.out.println(c.size());
Iterator it = c.iterator();
while(it.hasNext()) {
Object o = it.next();
System.out.print(o + " ");
}
}
}
关于java动态数组长度和数组长度JAVA的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-21,除非注明,否则均为
原创文章,转载请注明出处。