一、什么是数组
在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存储 50 名学生的成绩),这时再依次创建变量声明并赋值显得非常麻烦。随着处理的信息量越来越大,工作也就越来越烦琐,这时可以使用数组或集合来存储信息。通过使用数组,可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。
二、自定义数组图解
图示中:
data:数组,默认为10的数组空间;
size:表示在数组中的元素的个数,当数组中没有元素是指向0的位置;
capacity:数组中的数组空间;
三、自定义数组MyArray
package lcy.Array;
//自定义数组类 使用泛型
public class MyArray<E> {
//成员变量
private E[] data;
private int size; //有效的元素的个数
// 构造函数 传入数组的容量capacity构造Array
public MyArray(int capacity) {
//Object是所有类的子类 Java不支持new一个泛型 只能先new一个Object 然后再强制转换
data = (E[]) new Object[capacity];
size = 0;
}
// 无参构造函数 默认数组的容量为10
public MyArray() {
this(10);
}
// 获取数组中元素的个数
public int getSize() {
return size;
}
// 获取数组的容量
public int getCapacity() {
return data.length;
}
//返回数组是否为空
public boolean isEmpty() {
return size == 0;
}
//获取index索引位置的元素
public E get(int index) {
if (index < 0 || index >