java实现数组的增删改查
一、创建数组的三种方式
运行结果:
二、面向对象编程方式实现数组的增删改查
1、数组类
package array;
public class myArray {
private long[] array;
private int elements;//表示有效数字的长度
public myArray(){ //在构造方法里给数组赋值
array=new long[10];
}
public myArray(int values){//重构构造方法
array=new long[values];
}
//插入数据
public void insert(int values){
array[elements]=values; //elements初始值为0
elements++;
}
//显示数据
public void display(){
System.out.print("数组为:");
for (int i = 0; i < elements; i++) {
System.out.print(array[i]+" ");
}
}
//按值查找数据
public int search(long value){
int i;
for(i=0;i<elements;i++){
if(value==array[i]){
break;
}
}
if(i==elements){ //for循环结束了,都查完还没查找到这个元素,返回-1
return -1;
}else{
return i;
}
}
//按索引查找数据
public long get(int index){
if(index>=elements||index<0){
return -1;
}else{
return array[index];
}
}
//根据index来删除数据
public void delete(int index){
if(index>=elements||index<0){//如果index值无效则抛出一个异常
throw new ArrayIndexOutOfBoundsException();
}else{
for(int i=index;i<elements-1;i++){
array[i]=array[i+1];
}
elements--;//数据有效长度减一
}
}
//修改数据
public void change(int index,int newValue){
if(index>=elements||index<0){
throw new ArrayIndexOutOfBoundsException();
}else{
array[index]=newValue;
}
}
}
2、测试类:
package array;
public class ArrayTest {
public static void main(String[] args) {
myArray arr=new myArray(4);
arr.insert(12);
arr.insert(13);
arr.insert(15);
arr.insert(16);
System.out.print("数组为:");
arr.display();
System.out.println();
System.out.println("按值12查找序号:"+arr.search(12));
System.out.println("按序号0查找值:"+arr.get(2));
arr.delete(0);
System.out.print("删除序号为1的数据后的");
arr.display();
System.out.println();
arr.change(0, 50);
System.out.print("修改序号为0的数据为50后的");
arr.display();
}
}
运行结果: