一、源码
/**
* @author TongWei.Chen 2018-09-21 13:26:26
* @Description:
* @Project sjjg-sf
*/
public class MyArray {
// 数组
private long[] arr;
// 数组中有效数据的大小
private int elems;
// 构造器2个
public MyArray() {
arr = new long[10];
}
public MyArray(int size) {
arr = new long[size];
}
// 插入数据
public void add(long value) {
arr[elems] = value;
elems ++;
}
// 显示数据
public void display() {
for (int i = 0, size = arr.length; i <size; i ++) {
System.out.println(arr[i]);
}
}
// 查找数据
public long get(int index) {
return arr[index];
}
public int getIndex(long value) {
for (int i = 0, size = arr.length; i < size; i ++) {
if (arr[i] == value) {
return i;
}
}
return -1;
}
// 删除数据
public void delete(int index) {
for (int i = index; i < arr.length - 1; i ++) {
// 也就是从删除位置开始,整体向前移动一位
arr[i] = arr[i + 1];
}
// 将最后一个值变为默认值
arr[arr.length - 1] = 0L;
elems --;
}
// 更新数据
public void update(int index, long value) {
if (get(index) == 0) {
throw new IndexOutOfBoundsException();
}
arr[index] = value;
}
public static void main(String[] args) {
MyArray myArray = new MyArray();
myArray.add(10L);
myArray.add(20L);
myArray.add(30L);
myArray.add(40L);
myArray.add(50L);
myArray.add(60L);
myArray.add(70L);
myArray.add(80L);
myArray.add(90L);
myArray.add(100L);
myArray.display();
System.out.println(myArray.get(1));
System.out.println(myArray.getIndex(20));
System.out.println(myArray.getIndex(40));
myArray.update(3, 50L);
System.out.println(myArray.get(3));
myArray.delete(4);
System.out.println("................................");
myArray.display();
myArray.add(101L);
System.out.println("................................");
myArray.display();
}
}
二、广告
-
码云地址
-
QQ群【Java初学者学习交流群】:458430385
-
微信公众号【Java码农社区】
img -
今日头条号:编程界的小学生
网友评论