public class MyArray {
//定义一个数组
private int [] intArray;
//定义一个数组的有效长度
private int elems;
//定义数组的最大长达。
private int length;
//默认构造一个长度为50的的数组
public MyArray() {
elems=0;
length=50;
intArray=new int[length];
}
//构造函数,初始化一个长度为length的数组
public MyArray(int length){
elems=0;
this.length=length;
intArray=new int[length];
}
//获取数组的有效长度
public int getSize(){
return elems;
}
//遍历数组
public void display(){
for (int i = 0; i < elems; i++) {
System.out.print(intArray[i]+" ");
}
System.out.println();
}
//添加元素
/**
* @param value,假设操作人不会重复添加元素,如果有重复的元素对后面的操作都会有影响
* @return添加成功后返回true,添加的元素超出范围返回false
*/
public boolean add(int value){
if (elems==length){
return false;
}else{
intArray[elems]=value;
elems++;
}
return true;
}
/**
* 根据下标获取元素
* @param i
* @return查找下标值在数组下标的有效范围内,返回下标所表示的元素
* 查找下标超出数组下标的有效值,提示访问下标越界
*/
public int get(int i){
if (i<0||i>elems){
System.out.println("访问下标越界");
}
return intArray[i];
}
/**
* 查找元素
* @param searchValue
* @return查找的元素如果存在返回下标值,如果不存在就返回-1
*/
public int find(int searchValue){
int i = 0;
for (int j = 0; j < elems; j++) {
if (intArray[i]==searchValue){
break;
}
}
if (i==elems){
return -1;
}
return i;
}
/**
* 删除元素
* @param value
* @return如果删除的值不存在,直接返回false,否则返回true,删除成功
*/
public boolean delete(int value){
int k=find(value);
if (k==-1){
return false;
}else {
if (k==elems-1){
elems--;
}else {
for (int i = k; i <elems-1 ; i++) {
intArray[i]=intArray[i+1];
}
elems--;
}
return true;
}
}
/**
* 修改数据
* @param oldValue
* @param newValue
* @return修改成功后返回true,修改失败返回false
*/
public boolean modify(int oldValue,int newValue){
int i=find(oldValue);
if (i==-1){
System.out.println("修改的值不存在");
return false;
}else {
intArray[i]=newValue;
return true;
}
}
}
public class MyArrayTest {
public static void main(String[] args) {
//创建自定义封装数组结构,数组大小为4
MyArray array=new MyArray(4);
//添加四个元素为1234
array.add(1);
array.add(2);
array.add(3);
array.add(4);
//显示数组元素
array.display();
//显示下标为0的元素
int i=array.get(0);
System.out.println(i);
//删除元素4
array.delete(4);
//将元素三修改为33
array.modify(3,33);
array.display();
}
}
Java用封装类实现数组元素的增删查改
最新推荐文章于 2024-05-01 22:00:45 发布