首页 > 编程语言 >java实现Array

java实现Array

时间:2024-03-25 17:45:40浏览次数:22  
标签:index java 实现 public int 数组 Array array size

public class MyArray {
    private int[] array;
    private int size;
    public MyArray(int capacity){
        this.array=new int[capacity];
        size=0;
    }
    public void insert(int element,int index)throws Exception{
        //判断访问下标是否超出范围
        if(index<0 || index>size){
            throw new IndexOutOfBoundsException("超出数组实际元素范围!");
        }
        //如果实际元素达到数组容量上限,则对数组进行扩容
        if(size>=array.length)
            resize();
        for (int i=size-1;i>=index;i--){
            array[i+1]=array[i];
        }
        array[index]=element;
        size++;
    }
    public void resize(){
        int[] arraynew=new int[array.length*2];
        //从旧数组复制到新数组
        System.arraycopy(array,0,arraynew,0,array.length);
        array=arraynew;
    }
    public void output(){
        for (int i=0;i<size;i++){
            System.out.println(array[i]);
        }
    }
    public int delete(int index)throws Exception{
        if(index<0 || index>=size)throw new IndexOutOfBoundsException("超出数组实际元素范围!");
        int deletedElement = array[index];
        for (int i=index;i<size-1;i++){
            array[i]=array[i+1];
        }
        size--;
        return deletedElement;
    }
}

  

标签:index,java,实现,public,int,数组,Array,array,size
From: https://www.cnblogs.com/dmfsmile/p/18094938

相关文章

  • 实现自定义队列
    publicclassMyQueue{privateint[]array;privateintfront;privateintrear;publicMyQueue(intcapacity){this.array=newint[capacity];}publicvoidenQueue(intelement){if((rear+1)%array.length==front)......
  • 实现双向链表
    1classNode{2intdata;3Nodenext;4Node(intdata){5this.data=data;6}7}8publicclassMyNodes{9privateNodehead;10privateNodelast;11privateintsize;12publicNodeget(intindex){13......
  • 【附源码】JAVA计算机毕业设计应聘小程序(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的快速发展,互联网已经深入到人们生活的方方面面,特别是在求职招聘领域,传统的线下招聘方式已经无法满足现代社会的需求。目前,企业招聘和求......
  • 【附源码】JAVA计算机毕业设计应急信息管理及统计分析系统(springboot+mysql+开题+论文
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化时代,应急管理面临着前所未有的挑战和机遇。随着自然灾害、事故灾难等突发事件频发,对应急信息的管理和统计分析提出了更高要求。传统的信息管......
  • 【附源码】JAVA计算机毕业设计应急物资管理系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着自然灾害和突发事件的频发,应急物资管理的重要性日益凸显。传统的物资管理方式往往存在着信息不透明、响应速度慢、资源分配不均等问题,难以满足现......
  • Java中String、StringBuffer、StringBuilder 的区别
    目录1.String2.StringBuffer3.StringBuilder4.使用情况如果帮助到你,别忘了点赞收藏关注String、StringBuffer和StringBuilder在Java中都用于处理字符串数据,但它们之间在功能和性能上有一些关键的区别:1.String不可变性:String类的对象是不可变的。每次对String对......
  • Java并发面试题(一)
    1.并行和并发有什么区别?并行(Parallelism)和并发(Concurrency)在计算机科学中都是关于处理多个任务或操作的重要概念,但它们之间存在显著的差异。以下是并行和并发的主要区别:并发(Concurrency):任务交错执行:并发指的是两个或多个任务在同一时间段内开始,但它们的执行是交错进行的......
  • Pycharm服务器配置python解释器并结合内网穿透实现公网远程开发
    ......
  • JAVA 使用POI实现单元格行合并
    POI实现单元格行合并实现效果引入jar代码实现controller层Service层ServiceImpl层实现类实现效果如果最后面的三行数据大于1时那么前面十二行就需要行合并引入jar<dependency><groupId>org.apache.poi</groupId><artifactId......
  • 利用Python实现网络运维自动化:实战示例
    ......