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数组长度;
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数组长度;
相关文章推荐
- Java基础(数组-内存空间的划分)
- 3-1 数组; 如何使用java中的数组; 使用循环操作 Java 中的数组
- 在Java中如何有效的输出数组内容?
- 如何扩大你的虚拟机硬盘空间!
- java中如何初始化一个类对象的数组
- 第2章 Java编程基础——FAQ2.24 数组如何定义和初始化?
- 在Java中如何高效的判断数组中是否包含某个元素
- Simple Java—Strings and Arrays(五)如何在java中有效率的检查一个数组中是否有某值?
- 如何在Java中构造多维动态数组以及多维动态数组的使用
- 如何计算Java对象占用了多少空间?
- Java如何找出数组中重复的数字
- java byte数组如何截取
- java里如何实现两个等长度的字符串数组有多少个元素相同(从最左边开始,一旦遇到不同元素则跳出计数)
- 一个整型数组里除了一个数字之外,其他的数字都出现了两次。要求时间复杂度是O(n),空间复杂度是O(1),如何找出数组中只出现一次的数字
- Java中如何把两个数组合并为一个
- Java如何把list转换成数组
- Java后台如何接收并处理前台传过来的json格式的数组参数
- Java千百问_06数据结构(016)_引用类型数组在内存中如何储存
- 如何交换两个等长整形数组使其数组和的差最小(C和java实现)
- java中如何将字符数组转换成字符串,以逗号分割