日期:2014-05-16 浏览次数:20436 次
?? ?数组只能存放,单一类型,限定长度大小的。我们可以通过下表来进行访问指定元素。现在用面向对象的方式使用数组模拟数据库,进行查找,修改,删除,增加的典型操作。
?? ?现在我们自定义一个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.这样就基本实现增删改查的操作了。