一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
1.什么是数组
数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。
用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。
这些无序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
2.数组的定义方式
1.方式一
数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度]
//定义可以存储 3 个整数的数组容器,代码如下:
int[] arr = new int[3];
2.方式二
数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[]{数组元素1,数组元素2,数组元素3};
//定义存储 1 , 2 , 3 , 4 , 5 整数的数组容器
int[] arr = new int[]{1,2,3,4,5};
3.方式三
数组存储的数据类型[] 数组名字 = {数组元素1,数组元素2,数组元素3};
//定义存储1,2,3,4,5整数的数组容器
int[] arr = {1,2,3,4,5};
3.数组的方法
public class Array<E> {
private E[] data;//数组
private int size;//数组长度
public Array(int capacity) {//构造函数,传入数组的容量capacity构造Array
data = (E[])new Object[capacity];
size = 0;
}
public Array() {//无参数的构造函数,默认数组的容量capacity=10
this(10);
}
}
1.向数组中添加元素
这里添加的原理是,添加为第一个元素,就是反向遍历数组,将每个数组后移一位,然后移到第一个元素的时候,第一个位置用新的元素覆盖
插入元素首先要在数组定义的size范围内才可以被添加,如果size等于数组的长度了就会自动扩容数组
public void addLast(E e) {//向所有元素后添加一个新元素e
add(size, e);
}
public void addFirst(E e) {//向所有元素头添加一个新元素e
add(0, e);
}
public void add(int index, E e) {//在第index位置处插入一个新元素e
if(index < 0 || index > size) {
throw new IllegalArgumentException("AddLast failed. Require index >= 0 and index <= size");
}
if(size == data.length) {
resize(2 * data.length);
}
for(int i = size -1; i >= index; i--) {
data[i + 1] = data[i];
}
data[index] = e;
size++;
}