动态调整数组的大小

我们在使用数组时,如果设置长了,短了都不太合适,甚至还需要在运行时(或者事先已经定义了长度)改变一个定长数组的大小。
在以下的代码中给出注释,请参看!一、定义一个新的数组
int [] a = {1, 2, 3, 4, 5};
		//假设此时需要改变这个数组大小。
		//1.可以设置一个新的数组存放它的数据 ,长度增加为你想要的。
		int [] b = new int[6];
		b[5] = 6;
		System.arraycopy(a, 0, b, 0, a.length);//数组a从0 开始 赋值到b 从0开始,长度为:?
		for(int t : b){
			System.out.println(t);
		}

二、利用ArrayList 、Vector之类的可以动态描述的,如果有需要可以转换成数组类型进行之后的操作。(可以事先就定义这样的数据类型,添加数据进行操作,然后转换成数组。)
List list = new ArrayList();
		for(int i = 0; i< a.length; i ++){
			list.add(a[i]);
		}
		list.add(6);
//		for(Integer l : list){// 直接在list中输出。
//			System.out.println(l);
//		}
		Integer array [] = list.toArray(new Integer[0]);
//		Object[] arr = list.toArray(new Object[0]);// 未知什么类型, 可以直接定义object. 
		for(Object i : array){
			System.out.println(i);
		}

//Vector : 可实现自动增长的对象数组, 提供这个向量类来实现类似动态数组的功能。
	    Vector vector = new Vector();
	    for(int i = 0; i < a.length; i++){
	    	vector.addElement(a[i]); // add()方法也可以用, add()是List接口中声明的方法
	    }
//	    vector.addElement(6);
	    for(Integer v : vector){
	    	System.out.println(v);
	    }//也可以转换为数组类型

以上即是这篇文章的内容了。如果有什么改进的地方或者有错误的地方,请您指出,谢谢!

你可能感兴趣的:(java)