当前位置:网站首页 > Java基础 > 正文

java基础数组增删改



1.数组元素的读取(时间复杂度O࿰java基础数组增删改8;1))

对于数组来说,读取元素是最简单的操作。因为数组在内存中是顺序存储的,只需要给出一个下标,就可以读取到对应得的数组元素

 

2.数组元素的更新(时间复杂度O(1))

对于数组来说,更新元素也是非常简单的操作。直接利用数组下标就可以把新值赋值给该元素

 

在这里插入图片描述

3.数组元素的插入(时间复杂度O(n))

3.1尾部插入

尾部插入相对简单,直接把插入的元素放入尾部的空闲位置即可

 

在这里插入图片描述

3.2中间插入

/

  • @author:MZH
  • @:
  • @Date:2022/8/31 17:39
    */

/

  • 中间插入就比较麻烦,由于每个数组元素都有其固定下标,所以不得不把插入位置及以后的元素全部后移
    */
    public class MyArray2 {
    //准备数组
    private int[] array;
    //数组的实际长度,也就是数组里面实际有多少个元素
    private int size;
    • pram capacity 初始化数组容量
      */

    public MyArray2(int capacity){
    this.array = new int[capacity];
    size = 0;
    }

    /

    • @param element 插入的元素
    • @param index 插入的位置
      */
      public void insert(int element,int index) throws Exception{
      //判断插入的位置是否超出范围
      if (index<0||index>size){
      throw new Exception(“超出数组实际范围”);
      }
      //从右往左循环,移动元素
      for (int i=size-1;i>=index;i–){
      array[i+1]=array[i];
      }
      //放入新元素
      array[index]=element;
      //数组的实际长度加一
      size++;
      }
      //打印数组
      public void print(){
      for (int i = 0; i < size; i++) {
      System.out.print(“[”+array[i]+“]”);
      }
      System.out.println();
      }

    public static void main(String[] args) throws Exception{
    MyArray2 myArray2 = new MyArray2(6);
    myArray2.insert(10,0);
    myArray2.insert(18,0);
    myArray2.insert(15,0);
    myArray2.insert(17,0);
    myArray2.insert(99,1);
    myArray2.print();
    }
    }

在这里插入图片描述

3.3超范围插入

假如现在有一个长度为6的数组,想插入第7个元素,怎么办?
扩容!
因为数组一旦创建,长度就确定了,无法改变,所以我们可以准备一个新的数组,长度是原来数组的2倍,再把原来数组中的元素复制到新的数组中,这样就实现了扩容。

 

在这里插入图片描述

4.数组元素的删除(时间复杂度O(n))

数组的删除不涉及扩容,所以较为简单


                            

版权声明


相关文章:

  • 南京工程学院java基础试卷2024-10-20 14:10:02
  • Java语言零基础实训课程2024-10-20 14:10:02
  • Java基础实用教程 郑阿奇2024-10-20 14:10:02
  • java升级基础知识2024-10-20 14:10:02
  • c语言JAVA基础知识技术面试2024-10-20 14:10:02
  • java基础案例实战 pdf2024-10-20 14:10:02
  • java基础知识62024-10-20 14:10:02
  • java基础入门 的课后答案2024-10-20 14:10:02
  • java web 开发技术基础2024-10-20 14:10:02
  • java基础怎么牢固2024-10-20 14:10:02