数组是最基本的数据结构之一,可以存储有限个元素(固定长度),可以增删改查
数组代码:
public class MyArray {
//定义一个数组
int[] elements;
//初始化数组
public MyArray(){
elements = new int[0];
}
//获取数组的长度
public int size(){
return elements.length;
}
//往数组的末尾添加一个元素
public void add(int ele){
int[] newArr = new int[elements.length + 1];
for (int i = 0;i < elements.length;i++){
newArr[i] = elements[i];
}
newArr[elements.length] = ele;
elements = newArr;
}
//遍历数组的方法
public void arrayShow(){
System.out.println(Arrays.toString(elements));
}
//删除一个元素
public void delete(int index){
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){
if (index < 0 || index > elements.length -1){
throw new RuntimeException("传入下标不正确,不能读取元素");
}
return elements[index];
}
//插入一个元素到指定位置
public void insert(int index,int ele){
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 + 1] = elements[i];
}
}
//插入新的元素
newArr[index] = ele;
//替换数组
elements = newArr;
}
//替换其中的一个元素
public void update(int index,int ele){
if (index < 0 || index > elements.length - 1){
throw new RuntimeException("传入下标不正确,不能修改数组");
}
elements[index] = ele;
}
//线性查找
public int search(int target){
for (int i = 0;i < elements.length;i++){
if (elements[i] == target){
return i;
}
}
//未找到相应元素
return -1;
}
}
测试数组:
public class TestMyArray {
public static void main(String[] args) {
MyArray myArray = new MyArray();
myArray.add(2);
myArray.add(11);
myArray.add(15);
myArray.add(7);
myArray.add(14);
myArray.add(3);
myArray.add(8);
myArray.delete(2);
myArray.arrayShow();
}
}