您的位置:首页 > 编程语言 > Java开发

java中如何扩大数组空间

2013-12-21 22:03 155 查看
数组大小一旦确定,不可更改!!!!

 

import java.awt.List;

public class MyArrayList {

 private String[] element = new String[10];

 private int size;

 public void add(String s) {

  element[size++] = s;

   }

 public void print() {

  for (int i = 0; i
< element.length; i++) {

   System.out.println(element[i]);

  }

 }

 public static void main(String[] args) {

  MyArrayList per = new
MyArrayList();

  per.add("a");

  per.add("b");

  per.add("c");

  per.add("d");

  per.add("e");

  per.add("f");

  per.add("g");

  per.add("h");

  per.add("i");

  per.add("j");

  //per.add("k");

  per.print();

 }

}

运行结果:

a

b

c

d

e

f

g

h

i

j

若不屏蔽per.add("k");

则:Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 10

 at MyArrayList.add(MyArrayList.java:8)

 at MyArrayList.main(MyArrayList.java:39)

增加数组长度:

import java.awt.List;

public class MyArrayList {

 private String[] element = new String[10];

 private int size;

 public void add(String s) {

  element[size++] = s;

  if(size>=10){//对超出部分进行判断

   String[]
temp=element;

   element=new
String[20];

   for(int
i=0;i<temp.length;i++){

    element[i]=temp[i];//将temp中存储的内容拷贝给element

   }

  }

 }

 public void print() {

  for (int i = 0; i
< element.length; i++) {

   System.out.println(element[i]);//依次输出数组element中的数

  }

 }

 public static void main(String[] args) {

  MyArrayList per = new
MyArrayList();//新建对象per

  per.add("a");

  per.add("b");

  per.add("c");

  per.add("d");

  per.add("e");

  per.add("f");

  per.add("g");

  per.add("h");

  per.add("i");

  per.add("j");

  per.add("k");//超出数组长度

  per.print();

 }

}

输出结果:

a

b

c

d

e

f

g

h

i

j

k

null

null

null

null

null

null

null

null

null

注意红线部分,若改成i<element.length 仍超出temp数组长度;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: