当前位置: 首页> 游戏> 网游 > Java之顺序表的基本操作实现

Java之顺序表的基本操作实现

时间:2025/7/14 18:37:00来源:https://blog.csdn.net/2302_81707171/article/details/141755235 浏览次数:0次

1.相关操作的实现

package Listdemo;import java.util.Arrays;public class MyArrayList implements Ilist{public int [] elem=new int[2];public int usedSize=0;//扩容private void grow() {elem = Arrays.copyOf(elem,2*elem.length);}@Override//新增元素,默认在数组最后新增public void add(int data)  {if(isFull()){grow();}elem[usedSize]=data;usedSize++;}@Override// 在 pos 位置新增元素;public void add(int pos, int data) throws ArrayException {if(pos < 0 || pos > usedSize) {throw new ArrayException("pos位置不合法");}if(isFull()){grow();}for (int i = usedSize-1; i >=pos; i--) {elem[i]=elem[i+1];}elem[pos]=data;usedSize++;}@Override// 判定是否包含某个元素public boolean contains(int toFind) throws ArrayException {if(isEmpty()){throw new ArrayException("数组为空,不存在元素");}for (int i = 0; i < elem.length; i++) {if(elem[i]==toFind){return true;}}return false;}@Override// 查找某个元素对应的位置public int indexOf(int toFind) throws ArrayException {if(usedSize==0){throw new ArrayException("数组为空");}for (int i = 0; i < elem.length; i++) {if(elem[i]==toFind){return i;}}return 0;}@Override// 获取 pos 位置的元素public int getPosval(int pos) throws ArrayException {if(pos<0||pos>usedSize){throw new ArrayException("该位置错误");}return elem[pos];}@Overridepublic void remove(int toRemove) throws ArrayException {if(toRemove<0||toRemove>=usedSize){throw new ArrayException("删除位置错误");}for (int i = toRemove; i < usedSize; i++) {elem[i]=elem[i+1];}}@Override// 获取顺序表长度public int size() throws ArrayException {if(usedSize==0){throw new ArrayException("数组为空");}return usedSize;}@Overridepublic Boolean isEmpty() {if(usedSize==0){return true;}return false;}@Overridepublic Boolean isFull() {if(usedSize== elem.length){return true;}return false;}@Override// 清空顺序表public void clear() {usedSize=0;}@Override// 打印顺序表public void display() {for (int i = 0; i < elem.length; i++) {System.out.println(elem[i]+" ");}}
}

2.相关接口

package Listdemo;public interface Ilist {// 新增元素,默认在数组最后新增void add(int data) throws ArrayException;// 在 pos 位置新增元素;void add(int pos, int data) throws ArrayException;// 判定是否包含某个元素boolean contains(int toFind) throws ArrayException;// 查找某个元素对应的位置int indexOf(int toFind) throws ArrayException;// 获取 pos 位置的元素public int getPosval(int pos) throws ArrayException;//删除第一次出现的关键字keyvoid remove(int toRemove) throws ArrayException;// 获取顺序表长度int size() throws ArrayException;// 清空顺序表void clear();// 打印顺序表,注意:该方法并不是顺序表中的方法,为了方便看测试结果给出的void display();//判断数组是否为空Boolean isEmpty();//判断数组是否满了Boolean isFull();
}

3.相关操作的调用

package Listdemo;public class Test {public static void main(String[] args) throws ArrayException {MyArrayList myArrayList=new MyArrayList();myArrayList.add(1);myArrayList.add(2);myArrayList.add(3);myArrayList.add(4);myArrayList.add(5);myArrayList.display();System.out.println("============");myArrayList.add(5,10);myArrayList.display();System.out.println(myArrayList.contains(2));System.out.println(myArrayList.getPosval(3));System.out.println("============");myArrayList.indexOf(1);myArrayList.remove(2);System.out.println("============");myArrayList.display();}
}

4.异常的声明

package Listdemo;public class ArrayException extends Exception{public ArrayException(String message) {super(message);}
}
关键字:Java之顺序表的基本操作实现

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: