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语言,如何 “查找”和“替换”数组中的数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)