
正文
java数组扩容代码实现 java中数组的扩容
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
往数组里面加东西,数组满了,大小加倍,用JAVA如何实现?
JAVA的数组是无法动态扩充容量的,有个解决办法是,当数组满了后,重新new一个大小加倍的数组,然后执行一次拷贝操作,把原数组的内容复制到新数组后,使用新数组继续操作。
JAVA提供了一些类可以支持动态扩充的功能,比如java.util.ArrayList和java.util.Vector,他们对上面的机制进行了封装,使得你使用他们的时候可以自动扩展自己。
相关问答
Q1: java里面数组扩容怎么做的?
数组扩容可以通过新建一个数组长度设大点,然后通过 System.arraycopy(a1,0,a2,0,a.length)这种方式扩容,其他方式貌似没有。。。
Q2: Java中怎样将固定容量的数组扩大
可以像实现ArrayList一样,在该数组不够大时,在创建一个更大的数组,然后将原数组中的元素复制到该数组中!这样就可以就可以动态的改变数组大小。
Q3: java中查询数组最小值,并扩容新数组,把最小值放入新数组最后一位怎么做
public static void lot() {
int[] a = new int[] { 1, 7, 9, 6, 3, 5, 2, 4, 8 };
Arrays.sort(a);// 排序
int min = a[0];
// 扩容
int[] array = new int[(int) (a.length * 1.5)];
for (int i = 1; i a.length; i++) {
array[i - 1] = a[i];
}
// 最小的放到新数组最后
array[(int) (a.length * 1.5) - 1] = min;
// 显示
for (int j = 0; j array.length; j++) {
System.out.println(array[j]);
}
}
Q4: JAVA里怎么向一个已经满的数组,插入数据!
java中是不可以的,如果想在满的数组后在加数据,只能是重新声明一个更大的数组再将所有数据添加上。
这种情况推荐你使用List,它是可扩充的,没有长度限制。
Q5: java字符串数组扩容,新人学java
public class DoubleSize {
//方法内部不能改变参数的值,但是可以改变参数指向的值
//这样写没有改变a,但是可以改变a[0]
/**
*
* @param a
* @param index
*/
public static void ds(String[][] a,int index){
String[] NewA = new String[a[index].length*2];
for(int i=0;ia[index].length;i++){
NewA[i]=a[index][i];
}
a[index]=NewA;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String[][]a=new String[2][];
String[] a1={"abc","bbb","ccc"};
a[0]=a1;
DoubleSize.ds(a,0);
for(int i=0;ia[0].length;i++){
System.out.println(a[0][i]);
}
System.out.print(a[0].length);
}
}
java数组扩容代码实现的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java中数组的扩容、java数组扩容代码实现的信息别忘了在本站进行查找喔。






