【蓝桥杯赛前准备】【数据结构基础】数组之数组的基础构造以及属性

本菜狗要参加蓝桥杯啦,然后~发现自己烂的稀里哗啦,故此重温数据结构,希望大家理智面对博文
本文使用语言:JAVA
代码使用编辑器:IDEA
【数据结构之数组】

  • 前言

在这里插入图片描述

  • 首先,数组是啥?

在这里插入图片描述数组就是把数据码成一排进行存放
而我们则可以通过数组的下标来访问数据

例:小明想知道自己的成绩,而他在班级里的序号是01,那他就可以通过scores[0]来访问自己的成绩。

  • 数组的简单构造
    要求:数组必须指定长度
    所以有两种构造方法
int[] scores = new int[20];
int[] arr = new int[]{100,99,66}; //通过填充数字来开辟空间
  • 数组的遍历和赋值
for(int i=0;i<arr.length;i++)
{
	arr[i] = i;//通过下标来进行赋值
	System.out.println(arr[i])//遍历
}
  • 数组的索引?
    既然知道了一些数组的最基本的特性,那我们就可以深入研究数组了。
    前面提到了,数组由索引【下标】来标记数据。

    那么在所有应用场景下,索引都是有用的嘛?
    显然不是

    如果我用数组来储存考试成绩,通过下标来表示学生的序列,那么这时候的索引就是有意义的。
    如果我单纯的用数组来存放我的手机号,那数组的索引就没有意义。
    显然,数组更适合胜任索引有语义的情况,并且因为在这个时候,我们的查询会更具有针对性

在这里插入图片描述

  • 数组的特性?
    知道了数组的一些属性之后,我们就可以进行构造方法的描述。

    • 数组的功能:增删改查
    • 数组的容量:capcity,就是一开始我们开拓的数组空间大小。相当于arr.length
    • 数组的大小:具体由放了多少个数字决定,我们这里给他命名为size

    知道了这些东西,我们就可以对数组进行构造
    在main下new一个Array类。

package com.company;

public class Array {
    //申明一个数组
    private int[] data;
    //有效元素
    private int size;
    //传进参数:既定容量
    //有参构造函数
    public Array(int capacity){
        data = new int[capacity];
        //int[] data = new int[capacity];
        size=0;
        //初始化的时候,承载容量为0;
    }
    //用户不知道需要的容量是多少
    //给他一个默认容量
    //无参构造函数
    public Array(){
        this(10);
    }

    //查询信息

    public int getSize() {
        return size;
    }
    //回复容量
    public int getCapacity(){
        return data.length;
    }
    //判断数组大小是否为0
    public boolean isEmpty(){
        return size == 0;
    }

    public void addLast(int e){
        if(size==data.length){
            throw new IllegalArgumentException("ADDLAST FAUILED");
        }
        data[size]=e;
        size++;
    }

    public void add(int index,int e){
        if(size==data.length){
            throw new IllegalArgumentException("ADDLAST FAUILED");
        }
    }
}
  • 构造方法

    • 当我们知道这个数组需要的空间大小时
      这句话是怎么来的呢
      因为一开始
      我们new了一个数组
      private int[] data;
      data = new int[capacity]
      其实就等于int[] data = new int[capacity]
      而这个capcity是由传进来的参数决定的
    public Array(int capacity){
            data = new int[capacity];
            //int[] data = new int[capacity];
            size=0;
            //初始化的时候,承载容量为0;
        }
    
    • 当我们不知道所以需要固定的空间大小的时候
	 public Array(){
        this(10);//这里idea会提醒capacity的大小
    }
  • 我们构造了数组就需要知道他的大小

    • 容量
     public int getSize() {
            return size;
        }	
    
    • 大小
    //回复容量
        public int getCapacity(){
            return data.length;
        }
    
    • 是否为空
        //判断数组大小是否为0
    public boolean isEmpty(){
        return size == 0;
    }
    
  • 结语:

以下就是数组的基本性质,和一些基本构造方法的使用,下篇博客我们则会系统性的整理关于数组的增删改查
课后测试

  • 数组的基本性质
  • 数组适合应用于哪些场景?
  • 数组的构造方法有哪些
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值