【蓝桥杯赛前准备】【数据结构基础】数组之数组的基础构造以及属性
程序员文章站
2022-06-06 20:45:35
...
本菜狗要参加蓝桥杯啦,然后~发现自己烂的稀里哗啦,故此重温数据结构,希望大家理智面对博文
本文使用语言: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; }
-
结语:
以下就是数组的基本性质,和一些基本构造方法的使用,下篇博客我们则会系统性的整理关于数组的增删改查
课后测试
- 数组的基本性质
- 数组适合应用于哪些场景?
- 数组的构造方法有哪些
上一篇: 于谦:带兵上阵,创造一场战争奇迹