[Java]关于用数组实现队列的一个小练习
本人刚开始接触编程的一个小练习,里面有很多不足之处,大家有意见尽管说
数组实现队列的功能

import java.util.Arrays;
public class Arraylist_impl{
public static void main(String[] args) {
Arraylist_impl list = new Arraylist_impl();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
list.add("hello");
list.add(0,0);
list.set(0, 8);
list.remove("hello");
System.out.println(list.contains(0));
System.out.println(list);
}
private int size = 0;
private Object[] arr = new Object[4];
public Arraylist_impl() {
}
public void add(Object o){
size++;
if(size > arr.length){
Object[] temp = new Object[arr.length * 2];
for (int i = 0; i < arr.length; i++) {
temp[i] = arr[i];
}
temp[size - 1] = o;
arr = temp;
}else{
arr[size - 1] = o;
}
}
@Override
public String toString() {
Object[] array = new Object[size];
for (int i = 0; i < size; i++) {
array[i] = arr[i];
}
return Arrays.toString(array);
}
public void add(int index, Object o){
size++;
if(size > arr.length){
Object[] temp = new Object[arr.length * 2];
for (int i = 0; i < index; i++) {
temp[i] = arr[i];
}
temp[index] = o;
for (int i = 0; i < (arr.length - index); i++) {
temp[++index] = arr[index++];
}
arr = temp;
}else{
for (int i = size - 1, b; i > index; i--) {
b = i - 1;
arr[i] = arr[b];
}
arr[index] = o;
}
}
public void clear(){
arr = new Object[4];
size = 0;
}
public boolean contains(Object o){
for (int i = 0; i < arr.length; i++) {
if (o.equals(arr[i])) {
return true;
}
}
return false;
}
public Object get(int index){
return arr[index];
}
public int indexOf(Object o){
for (int i = 0; i < arr.length; i++) {
if(o.equals(arr[i]))
return i;
}
return -1;
}
public boolean isEmpty(){
return size == 0;
}
public int lastIndexOf(Object o){
for (int i = arr.length; i > 0; i--) {
if(o.equals(arr[i - 1]))
return i - 1;
}
return -1;
}
public boolean remove(Object o){
for (int i = 0; i < arr.length; i++) {
if(o.equals(arr[i]))
{
remove(i);
return true;
}
}
return false;
}
public boolean remove(int index){
if(size != 0) {
for (int i = 0, b; i < (arr.length - index - 1); i++) {
b = index + 1;
arr[index ++] =arr[b++];
}
size --;
return true;
}
else
return false;
}
public int size(){
return size;
}
public Object set(int index, Object o){
return arr[index] = o;
}
}
alse;
}
public int size(){
return size;
}
public Object set(int index, Object o){
return arr[index] = o;
}
}