动态数组的演变过程(一)

点赞、评论是对我的鼓励。只要去做,一切都不会太迟!

特点
  • 一致性:元素数据类型要求相同

  • 有序性:元素有序排列,通过下标访问,下标从0开始

  • 不可变性:数据一旦初始化,长度(元素个数不变)

基本操作
  • 数组的初始化,未赋值都存在默认值:如int默认值为0,String默认值为null
int[] arr1 = new int[7];	  //初始化长度为7的数组
int[] arr2 = new int[]{1,2,3};//初始化并赋值,数组长度为元素个数
int[] arr2 = {1,2,3};		  //这样也是可以的
  • 数组的插入,假设现在初始化一个长度为7的数组,并在索引为1的位置插入字符(索引从0开始)
//分析下过程(如下图):
//1、循环i=数组长度-1,条件为i>index,遍历后为i--
//2、往数组中插入数据,首先以index为中线,后面的数据往末尾开始逐一向后移
String[] arr = new String[]{"多", "运", "动", "身", "体", "好", null};
int index = 1;
for (int i = arr.length - 1; i > index; i--) {
     arr[i] = arr[i-1];
}
arr[index] = "人";//index位置插入新值
add
  • 数组的删除,删除上数组中索引为1的位置
//分析下过程(如下图):
//1、循环i=index,条件为i<最大索引长度,遍历后为i++
//2、往数组中删除数据,首先以索引为中线,后面的数据逐一向前移
int index = 1;
for (int i = index; i < arr.length - 1; i++) {
     arr[i] = arr[i+1];
}
arr[arr.length-1] = null;//将末尾的值置为默认值
remove
  • 修改
//修改比较简单,直接指定索引位置即可修改
arr[1] = "人";//修改索引为1的位置的值
  • 遍历
for (int i = 0; i < arr.length; i++) {
     System.out.println(arr[i]);
}

以上就是关于java数组的基本介绍

思考一下:
  1. 数组初始化就要定义长度,当长度越界时,如何保证程序不报错?
  2. 在遍历、插入、删除,我们的循环都是以arr.length作为条件,比如arr.length=10,而arr仅仅插入了一条数据,如何避免多余的遍历?

pass: 用ppt做动画真太难了,博客如有任何错误和建议,欢迎留言指正

关注我,我会以口语化的方式持续输出关于基础、面试、源码,数据库,缓存等技术,还会有很好的技术资料分享,让我们一起精进。

公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值