package array;
/*
@autor YANG
@date 2021年07月27日16:19
数组->列表
*/
public class MyArray {
private Object[] elements;
// 初始化数组
public MyArray() {
elements = new Object[0];
}
// 获取数组长度
public int getSize() {
return elements.length;
}
// 向数组末尾添加一个元素
public void add(Object element) {
Object[] newArray = new Object[elements.length + 1];
for (int i = 0; i < elements.length; i++) {
newArray[i] = elements[i];
}
newArray[elements.length] = element;
elements = newArray;
}
// 打印元素到控制台
public void show() {
for (Object element : elements) {
System.out.println(element.toString());
}
}
// 删除数组中的元素
public void delete(int index) {
if (index < 0 || index > elements.length - 1) {
throw new RuntimeException("数组越界!");
}
Object[] newArray = new Object[elements.length - 1];
for (int i = 0; i < newArray.length; i++) {
if (i < index) {
newArray[i] = elements[i];
} else {
newArray[i] = elements[i + 1];
}
}
elements = newArray;
}
// 取出指定下标的元素
public Object get(int index) {
if (index < 0 || index > elements.length - 1) {
throw new RuntimeException("数组越界!");
}
return elements[index];
}
// 插入一个元素到指定位置
public void insert(int index, Object element) {
if (index < 0 || index > elements.length - 1) {
System.out.println("数组越界!");
}
Object[] newArray = new Object[elements.length + 1];
for (int i = 0; i < elements.length; i++) {
if (i < index) {
newArray[i] = elements[i];
} else {
newArray[i + 1] = elements[i];
}
}
newArray[index] = element;
elements = newArray;
}
// 替换指定位置的元素
public void set(int index, Object element) {
if (index < 0 || index > elements.length - 1) {
System.out.println("数组越界!");
}
elements[index] = element;
}
// 线性查找(返回下标)
public int search(Object target) {
for (int i = 0; i < elements.length; i++) {
if (elements[i].equals(target)) {
return i;
}
}
return -1;
}
}
08-18
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交