封装数组之添加元素
时间:2022-06-19
本文章向大家介绍封装数组之添加元素,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在上一小节中,我们对数组进行了一个基本的封装,该小节中,我们在上一次基础上,新增往数组添加元素的方法:
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表示此时的最后一个元素
}
到此我们对如何在数组中添加一个元素有了基本的认识,在下一节中我们就如何在数组中查询元素和修改元素进行学习。
若你感兴趣,关注我,我们一起学习~~~~
- 剑指OFFER之数值的整数次方(九度OJ1514)
- 剑指OFFER之变态跳台阶(九度OJ1389)
- 剑指OFFER之二进制中1的个数(九度OJ1513)
- 剑指OFFER之跳台阶(九度OJ1388)
- 剑指OFFER之二维数组中的查找(九度OJ1384)
- 剑指OFFER之用两个栈实现队列(九度OJ1512)
- 剑指OFFER之用两个栈实现队列(九度OJ1512)
- 简单的客户机服务器投射模拟
- 使用gcc编译gdb调试
- 剑指OFFER之第一个只出现一次的字符(九度OJ1283)
- c++中类长度解析
- 剑指OFFER之丑数(九度OJ1214)
- 剑指OFFER之把数组排成最小的数(九度OJ1504)
- 剑指OFFER之从1到n中出现1的次数(九度OJ1373)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP使用PDO实现mysql防注入功能详解
- laravel接管Dingo-api和默认的错误处理方式
- PHP接入微信H5支付的方法示例
- PHP中用Trait封装单例模式的实现
- laravel 解决Validator使用中出现的问题
- php文件上传原理与实现方法详解
- PHP常见的序列化与反序列化操作实例分析
- Laravel jwt 多表(多用户端)验证隔离的实现
- Laravel实现通过blade模板引擎渲染视图
- Laravel 验证码认证学习记录小结
- ThinkPHP类似AOP思想的参数验证的实现方法
- 解决php扩展安装不生效问题
- 微信小程序发送订阅消息的方法(php 为例)
- Laravel5.5 动态切换多语言的操作方式
- Laravel 实现添加多语言提示信息