Arraylist中封装类的结构

public class HighArray {
int [] a= new int[9999];//定义数组
int n=0;//计算数组存入数据的长度

//添加数据
public void insert(int value){
a[n] = value;//插入数据
n++;//长度增加

//下次赋值时,就到数组末尾了
if(n==a.length-1){

//在new int[长度原数组两倍]
int [] b= new int[a.length*2];
for(int i = 0; i < n; i++){
b[i] =a[i];
}
//b数据的引用,交给a
//原来a数组没有了引用,就会被销毁
//出了大括号b的名字就会被销毁,引用交给a
a=b;
}
}

//寻找值
public boolean find(int key){//传入寻找的数据
int i;
for(i=0;i<n;i++){
if(a[i]==key){
//找到了
break;
}
}

if(i<n){//找到数据,for没有循环到结尾,就结束了
return true;
}else {
return false;//i=n,for循环到结尾也没有找到数据
}
}

//寻找值下标
public int findKey( int key){
int i;
for(i=0;i<n;i++){
if(a[i]==key){
return i;//找到数据返回下标
}
}
return -1;//没有找到数据返回-1
}

//遍历输出数据
public void display(){
for( int i=0;i<n;i++){
System.out.print(a[i] + "\t");
}
}


public void  delete (int value){
//基本删除
//删除掉的数据的位置无法再次添加数据
//有空间浪费
// int delIndex = findKey(value);
// a[delIndex] = -1;
 
 
//节省空间的方式
//要删除的这个下标位其后的数据,向前移
//1.找到这个要删除的数据的下标
int delIndex = findKey(value);
 
//2.从这个要删除下标+1开始循环
//3.遍历到每个元素,都向前移
// a=new int[]{44,55,78};
for(int i=delIndex+1; i<n; i++){
//a[i]==99;
a[i-1] = a[i];
a[i]=0;
}
 
//删除元素之后,数组长度要减少
//如果数组初始长度比有数的长,减少数据时,数据末尾会是初始默认值0
//就像数组的长度没变
if(delIndex>-1){
n--;
}

}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值