java中 如何在一个数组中删除里面的元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中 如何在一个数组中删除里面的元素相关的知识,希望对你有一定的参考价值。
例如数组 int arrys=1,2,3,4,5,
如何删除“3”这个元素,可以用free吗?怎么用?
求大神解答
不过java不是还有一个更好的数据结构叫集合 数组这样操作是不是很恶心? 这种场合你完全可以用List集合代替 参考技术A
这种题,其实是考察你对数组的理解。
实际工作上,一般用List。区别在于,List可动态分配空间,数组长度是定死的。
List其实是对数组的封装,底层也是数组。
解决这个问题的思路(假设删除一个元素):
创建一个新的数组,长度为原来数组减1;
循环复制,匹配的不复制,不匹配的复制到新数组;
代码如下:
public static void main(String[] args)
int[] arr = 1, 2, 3, 4, 5 ;
System.out.print("删除前:");
show(arr);
// ///////////////////////////////////
int[] brr = new int[arr.length - 1];
int idx = 0;
for (int i : arr)
if (i != 3)
brr[idx++] = i;
// ///////////////////////////////////
System.out.print("删除后:");
show(brr);
private static void show(int[] arr)
for (int i : arr)
System.out.print(i + ",");
System.out.println();
java删除数组中元素 举个例子: int a[]=1,2,3,4,5 我能得到下标 删除 a[3]也就是4如何实现。求赐教
如果非要使用数组,只能这样:首先确定你的数组中的元素的最大值和最小值(就是数组的范围,如:只能是大于等于0的),然后将目标元素a[3]的值改为比0小的(就是在这个数组范围以外的数字),然后排序 sort(),这样数组中的那个范围以外的元素就跑到最后的位置,然后再新建一个比原来数组小1位的数组,然后赋值,这样,当新数组赋值完毕时,老数组的最后一位就被剩下了,这样新数组就相当于那个删了元素的老数组强烈建议使用 集合或泛型,因为里面有删除方法,而且不用定义长度,相当好使! 参考技术A 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;
参考技术B 楼上砍甘蔗有道理,只要把第一节和第二节连接起来既可
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 参考技术C 数组不可以俄
他就像一根甘蔗,有10节,你要是砍掉一节他就成了2跟甘蔗了
用arrayList存放你的数据吧,它可以实现你的功能
他们就像容器,你可以仍很多的石头进去,也可以拿出来
数组出生到死就固定长度的 参考技术D java.util.ArrayList.* 中有一个remove方法,可以采取这种动态数组的方法。
以上是关于java中 如何在一个数组中删除里面的元素的主要内容,如果未能解决你的问题,请参考以下文章