数组(Array)
是有序的元素序列,若将有限个类型相同的变量的集合命名,那么这个名称为数组名,组成数组的各个变量称为数组的分量,也称为数组的元素,有时候也称为下标变量
。用于区分数组的各个元素的数字编号为下标变量。用于区分数组的各个元素的数字编号为下标。这些有序的同类数据元素的集合称之为数组
数组中的元素
结构或者类中字段的区别
数组中的所有元素都具有相同元素(这一点和结构或者类中字段不同)。数组中的元素储存在一个连续的内存块中,并通过索引来访问(这与结构和类中的字段不同)
- 类型
数组元素并非只是原数据,还可以是结构,枚举或类
结构形式
栈内存
在方法中定义的一些基本类型的变量都在方法的栈内存中分配,当在一段代码中定义一个变量的时候,java就在栈中为这个变量分配内存空间,当超出变量的作用域之后,java会自动释放掉为该变量的所分配的内存空间
相关操作
数组
一维数组是最简单的数组,其逻辑结构是线性表。要使用一维数组,需要经过定义,初始化和应用等
在数组的声明格式里,"数据类型"是声明数组元素的数据类型,可以是java语言中任意的数据类型,包括简单类型和结构类型,"数组名"是用来统一这些相同数据类型的名称,命名规则和变量的命名空间相同
数组声明之后,接下来就是要为声明的数组进行分配内存空间,这时必须使用运算符new
其中"个数"是告诉编译器,所声明的数组需要存放多少个元素,所以new
运算符是通知编译器根据括号里的个数,在内存中分配一块空间提供给该数组使用。利用new
运算符为数组元素分配内存空间的方式称为动态分配方式。
实际应用
可以使用一维数组模拟栈结构
j a v a 代 码 \color{#0000FF}{java代码} java代码
package dataStructure;
/**
* Created by jdx on 2022/3/3 下午3:40
* 模拟栈:使用一位数组模拟栈的数据结构,假设栈的默认容量为 6
* 实现功能:
* 1、可以存储 Java 中任意类型的数据
* 2、提供 push 方法模拟压栈(栈满了,要有提示信息)
* 3、提供 pop 方法模拟弹栈(栈空了,要有提示信息)
* 4、设置栈帧,指向栈顶元素
* 5、编写测试程序
*/
public class stack {
//定义数组
private Object[] element;
//定义指针
private int index;
/*get set 方法*/
public Object[] getElement() {
return element;
}
public void setElement(Object[] element) {
this.element = element;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
/*无参数构造*/
public stack() {
this.element = new Object[6];
this.index = -1;
}
public stack(Object[] element, int index) {
this.element = element;
}
/*压栈方法*/
public void push(Object object) {
if (this.index >= element.length - 1) {
System.out.println("栈已经满了,压栈失败!!!!");
return;
}
this.element[++index] = object;
System.out.println("压入" + object + "元素成功" + " 下标为:" + index);
}
/*出栈方法*/
public void pop() {
if (this.index <= -1) {
System.out.println("栈已空,弹栈失败!!!!");
return;
}
System.out.println("弹出" + element[index] + "成功");
this.element[index--] = null;
System.out.println("指针指向:" + index);
}
}
还有更多实际应用等待着各位小船夫们探索,我在这里就不过多的赘述了,扬帆吧,少年!!!🤜