数组只能存放,单一类型,限定长度大小的。我们可以通过下表来进行访问指定元素。现在用面向对象的方式使用数组模拟数据库,进行查找,修改,删除,增加的典型操作。
现在我们自定义一个MyArray类,有两个构造方法,一个是自定义数组的长度,一个是默认长度。
public class MyArray {
/**
* 数组的当前下标
*/
private int index;
/**
* 数组
*/
private int[] array;
/**
* 默认构造方法,自定义数组长度为10
*/
public MyArray() {
index = 0;
array = new int[10];
}
/**
* 带数组长度的构造方法
* @param length 数组长度
*/
public MyArray(int length) {
index = 0;
array = new int[length];
}
}
增加的操作
public void insertElement(int value) {
//进行逐一的增加
array[index] = value;
//下标也跟着跌加
index++;
//当下标的长度与数组长度相等时,开辟数组的一倍长度进行扩展数组的容量
if(index == array.length) {
//临时数组
int[] tempArray = new int[array.length + array.length];
for(int i = 0; i < array.length; i++) {
tempArray[i] = array[i];
}
array = new int[array.length + array.length];
array = tempArray;
}
}
查找指定元素是否存在的操作
public boolean findElement(int value) {
//元素存在的标志
boolean isExist = false;
for(int i = 0; i < array.length; i++) {
if(array[i] == value) {
isExist = true;
break;
}
}
return isExist;
}
删除的操作
public void deleteElement(int value) {
//首先查找元素是否存在
boolean isExist = findElement(value);
if(isExist) {
for(int i = 0; i < array.length; i++) {
if(array[i] == value) {
array[i] = 0;
}
}
}
}
修改的操作
public void modifyElement(int oldValue, int newValue) {
//首先判断修改的元素是否存在
boolean isExist = findElement(oldValue);
if(isExist) {
for(int i = 0; i < array.length; i++) {
if(array[i] == oldValue) {
//把旧的值修改成新的值
array[i] = newValue;
}
}
}
}
显示所有的数据
public void display() {
for(int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
在此。我们写一个测试类进行测试
public class TestArray {
public static void main(String[] args) {
MyArray myArray = new MyArray();
myArray.insertElement(10);
myArray.insertElement(20);
myArray.insertElement(8);
myArray.modifyElement(20, 5);
myArray.deleteElement(5);
myArray.display();
}
}
输出的结果:10 0 8 0 0 0 0 0 0 0.
OK.这样就基本实现增删改查的操作了。