数组 int arrys={1,2,3,4,5,}
如何删除“3”这个元素
代码:
public class $ {
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
Systemoutprint("删除前:");
show(arr);
int[] brr = new int[arrlength - 1];
int idx = 0;
for (int i : arr) {
if (i != 3) {
brr[idx++] = i;
}
}
Systemoutprint("删除后:");
show(brr);
}
private static void show(int[] arr) {
for (int i : arr) {
Systemoutprint(i + ",");
}
Systemoutprintln();
}
}public static void main(String[] args) {
String[] arrays={"1","2","3","5","6"};
for (int i = 0; i < arrayslength; i++) {
if("2"equals(arrays[i])){
//移除掉元素2
for (int j = i+1; j < arrayslength; j++) {
arrays[i]=arrays[j];
}
}
}
}无法删除,数组是个连续的存储空间,无法删除,如果非要那样干的话,
把那个元素值改为0x3f3f3f3f(最大的int),也就是放到最大,再加就爆掉了
你处理的时候判断一下就是了
把题目发给我看看
望采纳,谢谢1、splice
splice(index,len,[item]) 注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除 *** 作的话 item为空
如:arr = ['a','b','c','d']
删除 ---- item不设置
arrsplice(1,1) //['a','c','d'] 删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变
arrsplice(1,2) //['a','d'] 删除起始下标为1,长度为2的一个值,len设置的2
替换 ---- item为替换的值
arrsplice(1,1,'ttt') //['a','ttt','c','d'] 替换起始下标为1,长度为1的一个值为‘ttt',len设置的1
arrsplice(1,2,'ttt') //['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt',len设置的1
添加 ---- len设置为0,item为添加的值
arrsplice(1,0,'ttt') //['a','ttt','b','c','d'] 表示在下标为1处添加一项‘ttt'
看来还是splice最方便啦
2、delete
delete删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变
如:delete arr[1] //['a', ,'c','d'] 中间出现两个逗号,数组长度不变,有一项为undefined
1、只要将删除后的数据元素像前移动一位即可。
2、例程:
// 删除长度为len的数组dat中索引为idx的元素。
void remove(int dat, int len, int idx)
{
(len)--;
if (idx < 0 || idx >= len)
return;
for (int i = idx; i < len; i++)
dat[i] = dat[i+1];
}
void output(int dat, int len)
{
for (int i = 0; i < len; i++)
printf("%d ", dat[i]);
printf("\n");
}
int main()
{
int a[10]= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, len = 10;
remove(a, &len, 5);
output(a, len);
remove(a, &len, 2);
output(a, len);
return 0;
}
删除步骤如下:
ar arr = [ 1, 2, 3, 4, 5 ];
//原始数组
alert("原始数组:" + arr);// 1,2,3,4,5
//删除并且返回第一个元素
注:重复以上步骤即可
一、JavaScript
简称为js,一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型;
它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能;
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。
二、js表达式:
表达式是指将常量、变量、函数、运算符和括号连接而成的式子;
根据运算结果的不同,表达式可分为算术表达式、字符表达式、和逻辑表达式。
我的思路是 先循环遍历这个数组 用equals方法判断是否含有内容符合要求的元素 如果找到了 要记录下索引 定义一个中间变量temp 利用这个索引 把要删除的那个元素和数组最后一个元素交换位置 然后用javautilArrays类中的copy方法 该方法是数组复制的方法 有两个参数 一个是复制的元数组 一个是复制元素的个数 你在第二个参数那改成比原来数组少1 这样就删除了不过java不是还有一个更好的数据结构叫集合 数组这样 *** 作是不是很恶心? 这种场合你完全可以用List集合代替
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)