java删除数组中元素 举个例子: int a[]={1,2,3,4,5} 我能得到下标 删除 a[3]也就是4如何实现。求赐教
5个回答
展开全部
如果非要使用数组,只能这样:首先确定你的数组中的元素的最大值和最小值(就是数组的范围,如:只能是大于等于0的),然后将目标元素a[3]的值改为比0小的(就是在这个数组范围以外的数字),然后排序 sort(),这样数组中的那个范围以外的元素就跑到最后的位置,然后再新建一个比原来数组小1位的数组,然后赋值,这样,当新数组赋值完毕时,老数组的最后一位就被剩下了,这样新数组就相当于那个删了元素的老数组
强烈建议使用 集合或泛型,因为里面有删除方法,而且不用定义长度,相当好使!
强烈建议使用 集合或泛型,因为里面有删除方法,而且不用定义长度,相当好使!
展开全部
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String args[]) {
int[] oldArr = { 1, 2, 3, 4, 5, 6 };
int[] newArr = removeByIndex(oldArr, 3);
for (int i : newArr) {
System.out.print(i);
}
}
public static int[] removeByIndex(int[] oldArr, int index) {
// new 一个 List
List<Object> list = new ArrayList<Object>();
// 循环迭代,把数组放进List里面
for (int i : oldArr) {
list.add(i);
}
// 根据索引删除
list.remove(index);
// 重新new 一个数组
int[] newArr = new int[list.size()];
// 把List里面的集合全部添加到数组里面
for (int i = 0; i < list.size(); i++) {
newArr[i] = ((Integer) list.get(i)).intValue();
}
return newArr;
}
}
import java.util.List;
public class Test {
public static void main(String args[]) {
int[] oldArr = { 1, 2, 3, 4, 5, 6 };
int[] newArr = removeByIndex(oldArr, 3);
for (int i : newArr) {
System.out.print(i);
}
}
public static int[] removeByIndex(int[] oldArr, int index) {
// new 一个 List
List<Object> list = new ArrayList<Object>();
// 循环迭代,把数组放进List里面
for (int i : oldArr) {
list.add(i);
}
// 根据索引删除
list.remove(index);
// 重新new 一个数组
int[] newArr = new int[list.size()];
// 把List里面的集合全部添加到数组里面
for (int i = 0; i < list.size(); i++) {
newArr[i] = ((Integer) list.get(i)).intValue();
}
return newArr;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上砍甘蔗有道理,只要把第一节和第二节连接起来既可
public class Du {
public static void main(String[] args) {
int a[]={1,2,3,4,5,6};
int index = 2;//要删除的index
int[] ary = new int[a.length-1];
System.arraycopy(a, 0, ary, 0, index);
System.arraycopy(a, index+1, ary, index, ary.length-index);
for(int i = 0;i < ary.length; i++){
System.out.println(ary[i]);
}
}
}
-----------------
1
2
4
5
6
public class Du {
public static void main(String[] args) {
int a[]={1,2,3,4,5,6};
int index = 2;//要删除的index
int[] ary = new int[a.length-1];
System.arraycopy(a, 0, ary, 0, index);
System.arraycopy(a, index+1, ary, index, ary.length-index);
for(int i = 0;i < ary.length; i++){
System.out.println(ary[i]);
}
}
}
-----------------
1
2
4
5
6
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组不可以俄
他就像一根甘蔗,有10节,你要是砍掉一节他就成了2跟甘蔗了
用arrayList存放你的数据吧,它可以实现你的功能
他们就像容器,你可以仍很多的石头进去,也可以拿出来
数组出生到死就固定长度的
他就像一根甘蔗,有10节,你要是砍掉一节他就成了2跟甘蔗了
用arrayList存放你的数据吧,它可以实现你的功能
他们就像容器,你可以仍很多的石头进去,也可以拿出来
数组出生到死就固定长度的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java.util.ArrayList.* 中有一个remove方法,可以采取这种动态数组的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询