如何替换list数组里面的内容

如何替换list数组里面的内容,第1张

java中使用arraylist修改里面的内容,可以使用set方法,拿到下标修改内容,如下代码:

   

package comqiulinhe; import javautilArrayList;import javautilList; public class Ceshi {    public static void main(String[] args) {         List<String> list = new ArrayList<String>();        listadd("a");        listadd("b");        listadd("c");        Systemoutprintln("未修改前:");        for (String s : list) {            Systemoutprintln(s);        }         listset(0, "修改之后的元素");//修改对应的元素        Systemoutprintln("已修改后:");        for (String s : list) {            Systemoutprintln(s);        }    }}

运行结果如下:

分两步:

找到该项的索引

建议:

使用 for 循环查找

使用 ArrayprototypefindIndex 查找

建议:

直接设置 arr[i] = val

使用 Arrayprototypesplice(start, deleteCount, item),该方法灵活,可以在索引位置同时删除/插入若干项。只是替换,那么第二个参数为1,item不传就可以了。

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

/首先从键盘录入了5个数,把他们排序后输出,这已实现。

现在想要加上 “查找某数”和把找出的数“删除”,C语言似乎不能实现“删除”,所以我想用“替换”,

即:5个数中第3个为要找的,输出的时候就把第4个的值付给第3个,第5个的值付个第4个,最后只输出4个数,而且排好的序不能乱。

请会的帮帮忙!/

#include"stdioh"

#define N 5

void main()

{

int i,j;

int arr[N],bj;

printf("\n 请输入 %d 个数: \n",N);

for(i=0;i<N;i++)

{

scanf("%d",&arr[i]);

}

for(i=0;i<N;i++)

{

for(j=0;j<N-i-1;j++)

{

if(arr[j]<arr[j+1])

{

bj=arr[j+1];

arr[j+1]=arr[j];

arr[j]=bj;

}

}

}

printf("\n排序后:");

for(i=0;i<N;i++)

{

printf("%d\t",arr[i]);

}

printf("\n");

}

解析:

#define N 5

void del(int arr[],int len,int n)

{

int i=0;

while(i<len)

{

if(arr[i]==n)

{

printf("Found element %d\n",n);

for(int j=i;j<len-1;j++)

{

arr[j]=arr[j+1];

}

arr[len-1]='\0';

return;

}

i++;

}

printf("Element %d not found\n",n);

}

void main()

{

int i,j;

int arr[N],bj;

printf("\n 请输入 %d 个数: \n",N);

for(i=0;i<N;i++)

{

scanf("%d",&arr[i]);

}

for(i=0;i<N;i++)

{

for(j=0;j<N-i-1;j++)

{

if(arr[j]<arr[j+1])

{

bj=arr[j+1];

arr[j+1]=arr[j];

arr[j]=bj;

}

}

}

printf("\n排序后:");

for(i=0;i<N;i++)

{

printf("%d\t",arr[i]);

}

printf("\n");

int data;

printf("Input the data you want to delete");

scanf("%d",&data);

del(arr,N,data);

printf("\nAfter Delete:");

for(i=0;i<N-1;i++)

{

printf("%d\t",arr[i]);

}

printf("\n");

}

代码如下:

#include<stdioh>

#define NUM 10

void main ()

{int i,num,a[NUM]={1,2,3,4,5,6,7,8,9,0};

printf("yaozhuanhuadeshuzi:\n");

scanf("%d",&num);

for (i=0;i<10;i++)

{if (a[i]==num)

{

a[i]=a[i]+48;

printf("%c,",a[i]);

}

else

printf("%d,",a[i]);

}

}

我的理解是将数字以字符的形式输出,如果是数字5,(如果数字式两位就不能简单的+48了)那么它的ascii码是48+5=53,然后用%c格式输出,当然了还是5;(如果不加48直接用%c格式输出,那么输出的将是ascii码为5的字符),如果以%d格式输出那么就是53了

如果你想将这个数字改成字符,只需要改变程序:a[i]=a[i]+48;改成a[i]='A';当然A也可换成其他的字符。

以上就是关于如何替换list数组里面的内容全部的内容,包括:如何替换list数组里面的内容、如何用JavaScript替换数组中的项、C语言,如何 “查找”和“替换”数组中的数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9445993.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存