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如何实现postman中用x-www-form-urlencoded参数的请求

    java如何实现postman中用x-www-form-urlencoded参数的请求

    在Java开发中,模拟Postman发送x-www-form-urlencoded类型的请求是一个常见需求,本文主要介绍了如何在Java中实现这一功能,首先,需要通过导入http-client包来创建HTTP客户端,接着,利用该客户端发送Post请求
    2024-09-09
  • 浅谈java中OO的概念和设计原则(必看)

    浅谈java中OO的概念和设计原则(必看)

    下面小编就为大家带来一篇浅谈java中OO的概念和设计原则(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • SpringCloud Gateway使用redis实现动态路由的方法

    SpringCloud Gateway使用redis实现动态路由的方法

    这篇文章主要介绍了SpringCloud Gateway使用redis实现动态路由的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • MyBatis 中  type-aliases-package的作用(简化类型映射)

    MyBatis 中  type-aliases-package的作用(简化类型映射)

    MyBatis中type-aliases-package的作用是简化类型映射,通过指定包路径,MyBatis会自动扫描该包下的所有类并为这些类生成类型别名,减少XML配置文件中的冗长代码,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • 使用java技术抓取网站上彩票双色球信息详解

    使用java技术抓取网站上彩票双色球信息详解

    这篇文章主要介绍了使用java技术抓取网站上彩票双色球信息详解,web结果由html+js+css组成,html结构都有一定的规范,数据动态交互可以通过js实现。,需要的朋友可以参考下
    2019-06-06
  • 基于Mybatis-Plus的CRUD的实现

    基于Mybatis-Plus的CRUD的实现

    这篇文章主要介绍了基于Mybatis-Plus的CRUD的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • httpclient ConnectionHolder连接池连接保持源码解析

    httpclient ConnectionHolder连接池连接保持源码解析

    这篇文章主要为大家介绍了httpclient ConnectionHolder连接池连接保持源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • IDEA导入JDBC驱动的jar包步骤详解

    IDEA导入JDBC驱动的jar包步骤详解

    JDBC是一种底层的API,是连接数据库和Java应用程序的纽带,因此我们在访问数据库时需要在业务逻辑层中嵌入SQL语句,这篇文章主要介绍了IDEA导入JDBC驱动的jar包,需要的朋友可以参考下
    2023-07-07
  • MybatisPlus分页查询与多条件查询介绍及查询过程中空值问题的解决

    MybatisPlus分页查询与多条件查询介绍及查询过程中空值问题的解决

    mybatisplus是个很好用的插件,相信小伙伴们都知道,下面这篇文章主要给大家介绍了关于mybatis-plus实现分页查询与多条件查询介绍及查询过程中空值问题的相关资料,需要的朋友可以参考下
    2022-10-10
  • 详细解读Java的Lambda表达式

    详细解读Java的Lambda表达式

    这篇文章主要介绍了详细解读Java的Lambda表达式,lambda 表达式 是Java 8新加入的新特性,它在Java中是引入了函数式编程这一概念,需要的朋友可以参考下
    2023-04-04

最新评论