您的位置:首页 > 其它

创建面向对象数组-实现数组的一些增删改查等功能

2019-04-23 18:12 281 查看
package demo1.util;
import java.util.Arrays;
public class Myarray {
 //用于存储数据的数组
 private int[] elements;
 public Myarray() {
  elements=new int[0];
 }
 //获取数组长度的方法
 public void size() {
  
  System.out.println(elements.length);
 }
 //往数组的末尾添加一个元素
 public void add(int element) {
  //创建一个新的数组
  int[] newArray=new int[elements.length+1];
  //把原数组中的元素复制到新数组中
  for(int i=0;i<elements.length;i++) {
   newArray[i]=elements[i];
   
  }
  //把添加的元素放入新数组中
  newArray[elements.length]=element;
  // 使用新数组替换旧数组
  elements=newArray;
  
 }
 //打印所有元素到控制台
 public void show()
 {
 System.out.println(Arrays.toString(elements));
 }
 //删除数组中的元素
 public void delete(int index) {
  //判断下表师傅越界(如果index小于零或者大于数组长度-1,则输出"下标越界".)
  if (index<0||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) {
  return elements[index];
 }
 //插入一个元素到数组指定位置
 public void insert(int index,int element) {
  //创建一个数组
  int[] newArr=new int[elements.length+1];
  //将数组中的元素放入新数组中
  //遍历原有的数组
  for(int i=0;i<newArr.length;i++) {
   //目标位置之前的元素直接赋值
   if(i<index) {
    newArr[i]=elements[i];
    //目标位置之后的元素赋值(除了index)
   }else {
    newArr[i+1]=elements[i];
   }
   //插入新的元素
   newArr[index]=element;
   //用新数组替换旧数组
   elements=newArr;
  }
 }
 // 替换某位置的元素
 public void set(int index,int element)
 {
  //判断下表师傅越界(如果index小于零或者大于数组长度-1,则输出"下标越界".)
    if (index<0||index>elements.length-1){
     throw new RuntimeException("下标越界");
     }
  elements[index]=element;
 }
 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: