
当然你可以自己通过数组的复制扩容等实现一个可变长的数组。
(但实际上也不必了,因为有了ArrayList)
java的集合中的ArrayList类,从英文类名来看就知道了“数组表”。
其底层就是一个自动扩容的数组。从而实现类似“动态数组”的效果。
建议你阅读下ArrayList的源码,比较经典。
源码片段
public ArrayList() {this(10);
}
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
thiselementData = new Object[initialCapacity];
}
从中就能看出,ArrayList当调用无参数的构造器时,系统自动生成一个长度为10的初始数组,如果ArrayList在超出内部数组的长度之后都会进行自动扩充
下面就是ArrayList常用的方法的范例,包括输出修改和显示
import javautilArrayList;import javautilIterator;
public class AryDemo {
public static void main(String[] args) {
//<Integer>指明ArrayList里面存放都是Integer类型的数据参数20表明底层数组的初始长度为20
ArrayList<Integer> list = new ArrayList<Integer>(20);
for (int i = 0; i < 3; i++) {
//添加元素
listadd(i);
}
//for循环遍历输出
for (int i = 0; i < listsize(); i++) {
Systemoutprint(listget(i)+"\t");;
}
//输出空行用于换行
Systemoutprintln();
//在指定位置0号位置,添加元素-1
listadd(0,-1);
//Iterato方式进行遍历输出
Iterator<Integer> it = listiterator();
while(ithasNext()){
Systemoutprint(itnext()+"\t");
}
Systemoutprintln();
//删除元素
listremove(0);
for (int i = 0; i < listsize(); i++) {
Systemoutprint(listget(i)+"\t");;
}
Systemoutprintln();
//修改元素
listset(listsize()-1, 9);
for (int i = 0; i < listsize(); i++) {
Systemoutprint(listget(i)+"\t");;
}
Systemoutprintln();
//输出ArrayList的长度
Systemoutprintln(listsize());
}
}
arraycopy是数组复制的意思,给你个例子。
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中
Systemarraycopy(src, 1, dest, 2, 4);
// 输出数组dest
以上就是关于Java 求问如何把动态数组在界面中输出,进行修改,显示等全部的内容,包括:Java 求问如何把动态数组在界面中输出,进行修改,显示等、JAVA中如何动态改变数组长度 动态数组 arraycopy、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)