Java封装数组之添加元素操作实例分析

 更新时间:2020年03月10日 10:57:18   作者:WFaceBoss  
这篇文章主要介绍了Java封装数组之添加元素操作,结合实例形式分析了Java封装数组实现元素追加、插入等相关操作技巧,需要的朋友可以参考下

本文实例讲述了Java封装数组之添加元素操作。分享给大家供大家参考,具体如下:

在上一小节中,我们对数组进行了一个基本的封装,该小节中,我们在上一次基础上,新增往数组添加元素的方法:

1.向所有元素后添加一个元素

思路:

(1)先判断当前数组容量是否已满,未满则转入(2),否则抛出异常

(2)在元素下标为size的位置插入新元素

(3)维护我们的size值

 //向所有元素后添加元素
  public void addLast(int e) {
    if (size == data.length)
      throw new IllegalArgumentException("数组已满");

    data[size] = e;

    size++;
  }

2.在指定index位置插入一个新元素

思路:

(1)先判断当前数组容量是否已满,未满则转入(2),否则抛出异常

(2)判断当前需要插入值的位置是否合理,合理则转入(3),否则抛出位置不合法异常

(3)将index之后的元素依次往后移动一位,然后将新元素插入到index位置

(4)维护我们的size值

 //在第index个位置插入一个新元素
  public void add(int index, int e) {
    //(1)先判断当前数组容量是否已满,未满则转入(2),否则抛出异常
    if (size == data.length)
      throw new IllegalArgumentException("数组已满");

    //(2)判断当前需要插入值的位置是否合理,合理则转入(3),否则抛出位置不合法异常
    if (index < 0 || index > size)
      throw new IllegalArgumentException("您选择的位置不合法");

    //将index位置之后的元素往后依次移动一位
    for (int i = size - 1; i >= index; i--) {
      //(3)将index之后的元素依次往后移动一位,然后将新元素插入到index位置
      data[i + 1] = data[i];
     }
      data[index] = e;
      
      //(4)维护size值
      size++;
  }

通过对在指定index位置插入一个新元素方法的编写,此时我们可以很轻松的编写出在所有元素之前添加一个新元素,

3.在所有元素之前添加一个新元素

 //在所有元素之前添加一个新元素
  public void addFirst(int e) {
    add(0, e);//0表示第一个位置
  }

我们还可以对在本节刚开始编写的第一个方法进行改写,改写如下:

 //向所有元素后添加元素
  public void addLast(int e) {
    add(size, e);//size表示此时的最后一个元素
  }

到此我们对如何在数组中添加一个元素有了基本的认识,在下一节中我们就如何在数组中查询元素和修改元素进行学习。

若你感兴趣,关注我,我们一起学习~~~~

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数组操作技巧总结》、《Java字符与字符串操作技巧总结》、《Java数学运算技巧总结》、《Java数据结构与算法教程》及《Java操作DOM节点技巧总结

希望本文所述对大家java程序设计有所帮助。

相关文章

  • Java 多个文件生成zip包、下载zip包的实现代码

    Java 多个文件生成zip包、下载zip包的实现代码

    这篇文章主要介绍了Java 多个文件生成zip包、下载zip包,包括文件上传,文件下载,多个文件打成zip包的操作代码,本文给大家介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • springboot配置http跳转https的过程

    springboot配置http跳转https的过程

    SSL是为网络通信提供安全以及保证数据完整性的的一种安全协议,SSL在网络传输层对网络连接进行加密,这篇文章主要介绍了springboot配置http跳转https的过程,需要的朋友可以参考下
    2023-04-04
  • Java优雅的处理金钱问题(BigDecimal)

    Java优雅的处理金钱问题(BigDecimal)

    本文主要介绍了Java优雅的处理金钱问题(BigDecimal),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • IntelliJ IDEA(2020.2)的下载、安装步骤详细教程

    IntelliJ IDEA(2020.2)的下载、安装步骤详细教程

    这篇文章主要介绍了IntelliJ IDEA(2020.2)的下载、安装步骤详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • mybatis 运行时加载自定义mapper文件方式

    mybatis 运行时加载自定义mapper文件方式

    这篇文章主要介绍了mybatis 运行时加载自定义mapper文件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java ArrayList的基本概念和作用及动态数组的机制与性能

    Java ArrayList的基本概念和作用及动态数组的机制与性能

    在Java中,ArrayList是一个实现了List接口的动态数组,它可以根据需要自动增加大小,因此可以存储任意数量的元素,这篇文章主要介绍了探秘Java ArrayList的基本概念和作用及动态数组的机制与性能,需要的朋友可以参考下
    2023-12-12
  • SpringMVC体系分层模式原理图解

    SpringMVC体系分层模式原理图解

    这篇文章主要介绍了SpringMVC体系分层模式原理图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Springboot设置默认访问路径方法实现

    Springboot设置默认访问路径方法实现

    这篇文章主要介绍了Springboot设置默认访问路径方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • IDEA创建SpringBoot的maven项目的方法步骤

    IDEA创建SpringBoot的maven项目的方法步骤

    这篇文章主要介绍了IDEA创建SpringBoot的maven项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • spring IOC控制反转原理详解

    spring IOC控制反转原理详解

    这篇文章主要为大家详细介绍了spring IOC控制反转原理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03

最新评论