最近在准备复习过程中也开始回顾大学期间所学的一些知识,决定从数组开始复现,以备以后复习查验。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
package org.gjt.arr;
/**
- @author gjt - @version 1.0 - @date 2019/3/8 20:40 - @Description 这里写描述内容 */ public class Array {
private int[] data;
private int size;
/**
- 构造函数,传入数组容量构造Array @param capacity */ public Array(int capacity) { data = new int[capacity]; size = 0; }
public void delete(int e) { for (int i = 0; i < data.length; i++) { if (data[i] == e) { data[i] = data[i + 1]; } } }
/**
- 数组扩容 / private void expansion() { int[] data1 = new int[data.length + 4]; for (int i = 0; i < data.length; i++) { data1[i] = data[i]; } }
/**
- 默认构造数组容量大小=10 / public Array() { this(10); } /** - 元素个数 / public int getSize() { return size; } /** - 获取数组容量 / public int getCapcity() { return data.length; } /** - 是否为空 / public boolean isEmpty() { return size == 0; }
/**
- 新增一个数据 @param index 位置 - @param e 整数 / public void add(int index, int e) { if(size == data.length) { expansion(); } if(index < 0 || index > size) { throw new IllegalArgumentException("非法索引值!"); } for (int i = size - 1 ; i >= index ; i --) { // 向后依次位移一个元素 data[i+1] = data[i]; } data[index] = e; size++; }
/**
- 插入一条数据 @param e 数据 */ public void add(int e) { add(size, e); }
/**
- 向尾部插入数据 @param e 数据 */ public void addLast(int e) { add(size, e); }
/**
- 向头部插入数据 @param e 数据 */ public void addFirst(int e) { add(0, e); }
/**
- 数组复制 @return */ public static void copyOf(int[] oldArr,int[] newArr) { for (int i = 0; i < oldArr.length; i++) { newArr[i] = oldArr[i]; } }
}
|
近期评论