Java版資料結構之面向物件的陣列
阿新 • • 發佈:2018-12-17
操作簡介
- 獲取陣列長度
- 列印陣列
- 末尾新增一個元素
- 在指定位置插入一個元素
- 刪除一個元素
- 獲取指定位置元素
- 修改指定位置元素
public class MyArray { private int[] elements; public MyArray() { elements=new int[0]; } //獲取陣列長度 public int length(){ return elements.length; } //列印陣列 public void show(){ for(int i=0;i<elements.length;i++){ System.out.print(elements[i]+" "); } System.out.println(); } //新增一個元素 public void add(int element){ int[] newArr=new int[elements.length+1]; for(int i=0;i<elements.length;i++){ newArr[i]=elements[i]; } newArr[elements.length]=element; elements=newArr; } //插入一個元素 public void insert(int index,int element){ if(index>elements.length-1){ throw new RuntimeException("插入索引陣列越界"); } int[] newArr=new int[elements.length+1]; for(int i=0;i<elements.length;i++){ if(i<index){ newArr[i]=elements[i]; }else{ newArr[i+1]=elements[i]; } } newArr[index]=element; elements=newArr; } //刪除一個元素 public void delete(int index){ if(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>elements.length-1){ throw new RuntimeException("獲取索引陣列越界"); } return elements[index]; } //修改指定位置元素 public void update(int index,int element){ if(index>elements.length-1){ throw new RuntimeException("修改索引陣列越界"); } elements[index]=element; } }