package demo1.util;
import java.util.Arrays;
public class Myarray {
//用于存储数据的数组
private int[] elements;
public Myarray() {
elements=new int[0];
}
//获取数组长度的方法
public void size() {
System.out.println(elements.length);
}
//往数组的末尾添加一个元素
public void add(int element) {
//创建一个新的数组
int[] newArray=new int[elements.length+1];
//把原数组中的元素复制到新数组中
for(int i=0;i<elements.length;i++) {
newArray[i]=elements[i];
}
//把添加的元素放入新数组中
newArray[elements.length]=element;
// 使用新数组替换旧数组
elements=newArray;
}
//打印所有元素到控制台
public void show()
{
System.out.println(Arrays.toString(elements));
}
//删除数组中的元素
public void delete(int index) {
//判断下表师傅越界(如果index小于零或者大于数组长度-1,则输出"下标越界".)
if (index<0||index>elements.length-1){
throw new RuntimeException("下标越界");
}
int[] newArr=new int[elements.length-1];
//复制原有数据到新数组
for(int i=0;i<newArr.length;i++)
{
if (i<index) {
newArr[i]=elements[i];
}else {
newArr[i]=elements[i+1];
}
}
//用新数组替换旧数组
elements=newArr;
}
// 获取某个元素
public int get(int index) {
return elements[index];
}
//插入一个元素到数组指定位置
public void insert(int index,int element) {
//创建一个数组
int[] newArr=new int[elements.length+1];
//将数组中的元素放入新数组中
//遍历原有的数组
for(int i=0;i<newArr.length;i++) {
//目标位置之前的元素直接赋值
if(i<index) {
newArr[i]=elements[i];
//目标位置之后的元素赋值(除了index)
}else {
newArr[i+1]=elements[i];
}
//插入新的元素
newArr[index]=element;
//用新数组替换旧数组
elements=newArr;
}
}
// 替换某位置的元素
public void set(int index,int element)
{
//判断下表师傅越界(如果index小于零或者大于数组长度-1,则输出"下标越界".)
if (index<0||index>elements.length-1){
throw new RuntimeException("下标越界");
}
elements[index]=element;
}
}
创建面向对象数组-实现数组的一些增删改查等功能
最新推荐文章于 2022-10-05 20:05:44 发布