JAVA中怎么用两个数组实现ArrayList中无限添加元素的功能? 5
很急很急!在线等!求JAVA大神解决!不要和我说用ArrayList!我也知道!我要的是两个数组完成!看过ArrayList源代码了,还是很不明白!...
很急很急!在线等!求JAVA大神解决!不要和我说用ArrayList!我也知道!我要的是两个数组完成!看过ArrayList源代码了,还是很不明白!
展开
4个回答
展开全部
public class Array {
private Object[] data = null;
private int maxLength = 0 ;
private int index = -1;
public Array() {
data = new Object[10];
maxLength = 10;
}
public void add(Object o){
currectLength();
index++;
data[index] = o;
}
private void currectLength(){
if(index+1+1>=maxLength){
Object[] o = new Object[maxLength+10];
maxLength+=10;
for (int i = 0; i < data.length; i++) {
o[i]=data[i];
}
data = o;
}
}
public int length(){
return index+1;
}
public static void main(String[] args) {
Array a = new Array();
for (int i = 0; i < 111; i++) {
a.add(i);
}
System.out.println(a.length());
}
}
这样????
private Object[] data = null;
private int maxLength = 0 ;
private int index = -1;
public Array() {
data = new Object[10];
maxLength = 10;
}
public void add(Object o){
currectLength();
index++;
data[index] = o;
}
private void currectLength(){
if(index+1+1>=maxLength){
Object[] o = new Object[maxLength+10];
maxLength+=10;
for (int i = 0; i < data.length; i++) {
o[i]=data[i];
}
data = o;
}
}
public int length(){
return index+1;
}
public static void main(String[] args) {
Array a = new Array();
for (int i = 0; i < 111; i++) {
a.add(i);
}
System.out.println(a.length());
}
}
这样????
展开全部
去看看ArrayList的源码你就知道了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我感觉问题好模糊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-11
展开全部
你要干什么,需要无限添加??一般一个数组先声明后创建都是有一个数组长度的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询