数组在程序开发中是最常见的数据结构,在java API 有很多已经实现对数组的各种操作
但作为一名程序开发人员,仅仅会调用java API 中的实现方法是远远不够的,要像从初级程序员开始慢慢蜕变,就应该注重对知识的理解,而不是仅仅停留在对工具的使用;
实现对基本数据类型数组的增(C)删(D)查(R)改(U)
package data_structure_array_CURD;
public class MyArray {
private int [] array;
private int elems;
//获取数组的真实长度
public int getElems() {
return elems;
}
//无参构造
public MyArray(){
array = new int [50];
elems=0;
}
public MyArray(int value){
array = new int [value];
elems = 0;
}
//插入数据
public void insert(int data){
array[elems]=data;
elems++;
}
//遍历
public void dispaly(){
for(int i=0;i<elems;i++){
System.out.println(array[i]+" ");
}
}
//查找数据,返回下标
public int find(int data){
int i;
for(i=0;i<elems;i++){
if(array[i]==data){
break;
}
}
if(i==elems){
return -1;
}else{
return i;
}
}
//删除数据
public int delete(int data){
//找到数据下标
int i=find(data);
if(i!=-1){
for(int j=i;j<elems;j++){
array[j]=array[j+1];
}
elems--;
return 1;
}else{
return -1;
}
}
//修改
public void change(int olddata,int newdata){
//获取数据下标
int i=find(olddata);
if(i!=-1){
array[i]=newdata;
}
}
}
测试类
package data_structure_array_CURD;
public class TestMyArray {
public static void main(String[] args) {
MyArray myArray = new MyArray(10);
//插入数据
myArray.insert(10);
myArray.insert(20);
myArray.insert(30);
myArray.insert(40);
myArray.insert(50);
//遍历数据
myArray.dispaly();
System.out.println("\n------");
//查找数据
System.out.println(myArray.find(30));
//删除数据
myArray.delete(20);
myArray.dispaly();
System.out.println("\n------");
//修改数据
myArray.change(50, 60);
myArray.dispaly();
}
}