码迷,mamicode.com
首页 > 其他好文 > 详细

Arrays(一)

时间:2018-09-07 22:53:04      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:size   ali   turn   二次   插入   param   维护   end   dde   

一、二次封装自己的数组

目标:设计int 类型数组,

   (1)可以根据用户传入的容量设置数组的长度,如果用户未设置容量,默认设置长度为10(考虑使用多态性) 

   (2)判断数组是否为空

   (3)获取数组的容量

    

public class Array{
    //设置整形的数组
    private int [] data;
    //设置数组容量
    private int size;

    /**
     *设置带参数构造函数,创建容量为capacity大小的数组,并维护数组的初始容量为0
     * @param capacity
     */
    public Array(int capacity){
        data=new int[capacity];
        size=0;
    }

    /**
     * 设置数组的默认初始容量为10
     */
    public Array(){
        this(10);
    }

    /**
     * 获取数组当前的容量
     * @return 返回数组当前的容量
     */
    public int getSize(){
        return size;
    }

    /**
     * 判断数组是否为空
     * @return
     */
    public boolean isEmpty(){
        return size==0;
    }

    /**
     * 向数组中添加元素
     * @param e 元素e
     * @param index 插入元素的在数组中的位置
     * @return 添加结果
     */
    public void addElement(int index,int e){

        for (int i=size-1;i>=index;i--){
            data[i+1]=data[i];//eg data[3]=data[2]

        }
        data[index]=e;
        size++;//维护数组容量
    }

    @Override
    public String toString() {
       //格式化输出
        StringBuilder sb=new StringBuilder();
        sb.append(String.format("Array: 当前存储容量:size: %d , 总容量:capacity:%d\n",size,data.length));
        sb.append("[");
        for (int i=0;i<size;i++){
            sb.append(data[i]);
            if(i!=size-1){
                sb.append(",");
            }
        }
        sb.append("]");
        return sb.toString();
    }
}

 

  

Arrays(一)

标签:size   ali   turn   二次   插入   param   维护   end   dde   

原文地址:https://www.cnblogs.com/shine-rainbow/p/9607313.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!