java增删改查代码思路,java数组实现增删改查
如何解决写爬虫IP受阻的问题?立即使用。
什么是序列表?是什么样的结构?
表是一种线性结构,其中顺序存储一段具有连续物理地址的存储单元。通常,数组用于存储。完成阵列上的数据添加、删除和更正。
(学习视频分享:java视频教程)
该表分为:
静态顺序表:使用固定长度数组存储
动态序列表:使用动态打开的数组存储。
静态序列表适用于您知道需要存储多少数据的情况。
静态序列表的定长数组导致N的大小固定,浪费的空间多,空间少就不够用。
顺序表实现
首先,我们要给出一个序列表的长度。如果你想在列表中插入元素,我们必须在位置0插入第一个数字。如果0位没有数字,我们就不能直接插入到1位或者更靠后的位置。如果位置0,1,2有数据,如果要插入到位置0或1,此时就要向后遍历序列表,让前面的数据后移一步。
增加:
公共类分离列表{
public int[]val;//定义数据
公共int大小;//要存储一个数据,让大小;
//构造方法顺序表大小
公共分离列表(){
this . val=new int[5];
}
//也可以转发大小。
公共分离列表(int ret){
this . val=new int[ret];
}
//将数据添加到要插入的位置和相应位置的数据,例如在位置0插入10。
public void addVal(int pos,int val){
//首先判断序列表是否已满。
if(this.val.length==this.size)返回;
//其次要看给定的位置是否合法。pos不能小于0。例如,位置0有数据,位置1没有数据,然后将其插入位置2或更靠后的位置。
if(pos 0 pos this.size)返回;
//如果所有位置0 1 2 3都有数据,要插入到位置1,就得把后面的位置往后移一步。
for(int I=this . size;i=pos我- ){
this . val[I 1]=this . val[I];
}
//此时在给定位置插入数据
this . val[pos]=val;
this.size
}
//打印链表
公共void显示(){
for(int I=0;我这个尺寸;i ){
system . out . print(this . val[I] );
}
system . out . println();//打印后空行
}
公共静态void main(String[] args) {
sep list my list=new sep list();//默认为5个元素
//sep list my list=new sep list(10);//此时,序列表的大小为10
myList.addVal(0,10);//在0位置插入第一个数据
my list . display();//打印
}
}
//执行结果
0如果要插入多个数据,只需调用方法。
例如:
myList.addVal(0,10);//第一次插入
myList.addVal(1,20);
myList.addVal(2,30);
myList.addVal(3,40);
myList.addVal(4,50);
my list . display();//打印
//执行结果
0 20 30 40 50此时序列表已满。如果进一步插入呢?
myList.addVal(0,10);//第一次插入
myList.addVal(1,20);
myList.addVal(2,30);
myList.addVal(3,40);
myList.addVal(4,50);
myList.addVal(5,60);
myList.addVal(6,70);
my list . display();//打印
//执行结果
0 20 30 40 50为什么还是原来的?没有错误。是因为在进入添加功能,判断序列表已满时,如果已满,会直接跳转到打印功能。不会报告错误。这时,递增函数已经写好了。
支票
//判断链表中是否包含元素
public boolean包含(int toFind){
for(int I=0;我这个尺寸;i ){
if(toFind==this.val[i]){
返回true
}
}
返回false
}
//找到元素对应的位置
公共int搜索(int toFind){
for(int I=0;我这个尺寸;i ){
if(toFind==this.val[i]){
返回I;
}
}
return-1;
}
//获取pos位置的数据
public int getPos(int pos){
//首先判断pos是否合法
if(pos 0 pos this.size)返回-1;
for(int I=0;我这个尺寸;i ){
如果(这个。val[I]==这个。val[pos]){
归还这个。val[pos];
}
}
return-1;
}
//调用方法在这没有粘贴主函数你们一定要加上
布尔标志1=我的列表。包含(10);//判定元素
布尔标志2=我的列表。包含(60);
系统。出去。println(标志1);
系统。出去。println(标志2);
int ret=我的列表。搜索(10);//查找
int ret 1=我的列表。搜索(50);
系统。出去。println(ret);
系统。出去。println(ret 1);
int ret 2=我的列表。获取位置(0);//获取刷卡机位置数据
int ret 3=我的列表。获取位置(4);
系统。出去。println(ret 2);
系统。出去。println(ret 3);
//执行结果
真实的
错误的
0
四
10
50改
直接找到刷卡机位置对应的数据,将新数据赋给它就好了
//修改刷卡机位置的值
public void remove(int pos,int val){
if(pos 0 pos this.size){
返回;
}否则{
这个。val[pos]=val;
}
}
myList.remove(2,3);//2号位置改为3
myList.remove(3,4);//3号位置改为四
我的名单。显示();//打印
//执行结果
10 20 3 4 50删
删除指定的数据后,后边的数据往前覆盖就可以了
//删除元素
public void delVal(int key){
int i,j=0;
//找到该位置
for(I=0;我这个尺寸;i ){
if(this.val[i]==key){
j=I;
打破;
}
}
//删除该位置数据,后边数据往前覆盖
for(I=j;我这个。尺码-1;i ){
这个。val[I]=这个。val[I 1];
}
这个。尺寸-;
}
我的名单。德尔瓦尔(10);
我的名单。德尔瓦尔(50);
我的名单。显示();//打印
//执行结果
20 30 40相关推荐:java入门教程以上就是爪哇岛实现顺序表的增删查改的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。