Java 求问如何把动态数组在界面中输出,进行修改,显示等?
展开全部
java有别于C/C++ ,java本身是没有动态数组的。
当然你可以自己通过数组的复制扩容等实现一个可变长的数组。
(但实际上也不必了,因为有了ArrayList)
java的集合中的ArrayList类,从英文类名来看就知道了“数组表”。
其底层就是一个自动扩容的数组。从而实现类似“动态数组”的效果。
建议你阅读下ArrayList的源码,比较经典。
源码片段
public ArrayList() {
this(10);
}
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = new Object[initialCapacity];
}
从中就能看出,ArrayList当调用无参数的构造器时,系统自动生成一个长度为10的初始数组,如果ArrayList在超出内部数组的长度之后都会进行自动扩充
下面就是ArrayList常用的方法的范例,包括输出修改和显示
import java.util.ArrayList;
import java.util.Iterator;
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++) {
//添加元素
list.add(i);
}
//for循环遍历输出
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+"\t");;
}
//输出空行用于换行
System.out.println();
//在指定位置0号位置,添加元素-1
list.add(0,-1);
//Iterato方式进行遍历输出
Iterator<Integer> it = list.iterator();
while(it.hasNext()){
System.out.print(it.next()+"\t");
}
System.out.println();
//删除元素
list.remove(0);
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+"\t");;
}
System.out.println();
//修改元素
list.set(list.size()-1, 9);
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+"\t");;
}
System.out.println();
//输出ArrayList的长度
System.out.println(list.size());
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询