永发信息网

java怎么定义增加和删除的方法来实现改变数组的大小

答案:4  悬赏:40  手机版
解决时间 2021-02-15 06:16
  • 提问者网友:呐年旧曙光
  • 2021-02-14 18:55
java怎么定义增加和删除的方法来实现改变数组的大小
最佳答案
  • 五星知识达人网友:青灯有味
  • 2021-02-14 19:19
自动增长数组

Java code?
public class ArrayExp{
private Object[] data ;
private int index=0;
public ArrayExp(int size){ //创建链表大小
data=new Object[10];
}
private void expand(){ //扩充
Object[] data2=new Object[data.length*2];
System.arraycopy(data,0,data2,0,data.length);
data=data2;
}
public void add(Object o){ //添加
if (data.length==index) expand();
data[index]=o;
index++;
}
public void add(int pos,Object o){ //在指定位置添加
if (data.length==index) expand();
for(int i=index;i>pos;i--){
data[i]=data[i-1];
}
data[pos]=o;
index++;
}

public void change(int pos,Object o){ //替换
data[pos]=o;
}

public Object remove(int pos){ //删除
Object o=data[pos];
index--;
for(int i=pos;i data[i]=data[i+1];
}
return o;
}
public int size(){ //返回大小
return index;
}
public Object get(int pos){ //返回指定位置值
return data[pos];
}
public void clear(){ //清除
index=0;
}
public boolean isEmpty(){ //置空
return index==0;
}
public Object[] toArray(){ //返回数组
return data;
}
}
全部回答
  • 1楼网友:未来江山和你
  • 2021-02-14 21:26
首先数组是不能动态增加的. 如果想要这样的效果的话,不如用list list = new arraylist(); list.add(new integer(33)); list.add(........
  • 2楼网友:怙棘
  • 2021-02-14 20:29
想简单用ArrayList呗,本来这个就是动态的;想自己实现思路就是先有个初始数组大小,超过初始大小时重新创建一个新的扩容的数组拷贝元素进去呗。
  • 3楼网友:街头电车
  • 2021-02-14 20:22
数组长度在定义的时候就已经定死了 没办法增加和删除 所谓增加数组长度,是新建一个长度更大的数组,并把原数组数据copy过去
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯