动态调整数组的大小

xiaoxiao2021-02-28  19

我们在使用数组时,如果设置长了,短了都不太合适,甚至还需要在运行时(或者事先已经定义了长度)改变一个定长数组的大小。 在以下的代码中给出注释,请参看!一、定义一个新的数组 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<Integer> list = new ArrayList<Integer>(); 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<Integer> vector = new Vector<Integer>(); 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); }//也可以转换为数组类型 以上即是这篇文章的内容了。如果有什么改进的地方或者有错误的地方,请您指出,谢谢!
转载请注明原文地址: https://www.6miu.com/read-2631640.html

最新回复(0)