自定义队列

       我们都知道一个数组一旦创建之后,那么它的大小和数据类型也就确定了,不能随意改变,这就给我们带来了很多麻烦,比如要给数组中添加元素,就必须重新创建个数组才能实现,所以就有一种方法来弥补数组的这种缺陷——自定义队列。

      在java中并没有队列这个数据结构,所以只能自己来写,其实这种自定义队列也是用数组来实现,只不过数组的类型是对象型的,这样就可以存不同的数据类型的数据了。

     Object []src=new Object[0];              // 这个就是定义一个对象型的数组。大小为0
 
 //增加元素
 public void add(Object obj){                                      //obj就是要增加的元素
  
  Object []dest=new Object[src.length+1];                  //  因为是增加元素,所以数组的长度要+1
  for(int i=0;i<src.length;i++){
   
   dest[i]=src[i];                                                              
  }
  dest[src.length]=obj;
  src=dest;                                                                 //相当于return  dest这个数组

 }

//获取元素
 public Object get(int temp){
  
  return src[temp];                                          
    
 }
 //删除元素
 public void delete(Object obj){
  
  int temp = 0;
  Object []dest=new Object[src.length-1];                              //定义一个中间数组,长度比原数组少一
  for(int i=src.length-1;i>=0;i--){     
   
   if(src[i]==obj){                                                     //判断要删除的对象在那个位置,然后用temp记录
    temp=i;
    
   }    
  }
  for(int i=0;i<temp;i++){
   
   dest[i]=src[i];                                                       // 将temp前面的元素通过中间数组保存
  }
        for(int i=temp;i<src.length-1;i++){
   
         dest[i]=src[i+1];
  }
       src=dest;
 }
 //输出元素
 public void prints(){
  
  for(int i=0;i<src.length;i++){
   
   System.out.print(src[i]+" ");
  }
 }
 //修改元素
 public void change(int temp,Object obj){
  
  src[temp]=obj;
 }
//获取长度
 public int length(){
  return src.length;
 }

自定义队列只是一种思想,为了弥补数组的缺点,所以具体的方法每个人可以自己编写。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值