数组

数组

  1. 是引用数据类型(同String角色)

  2. 数组也有父类(比如:.length)且也继承Object类,但其是C++语言实现,所以没有java代码!
    (1)而且此父类并没有重写Object的方法;
    (2)所以出现工具类Arrays;
    (3)注意print输出拼接的方式
    在这里插入图片描述在这里插入图片描述

  3. 长度不可变 => length是其属性==>不能增删

  4. 存储物理空间地址连续

  5. 数组是什么就存什么。int[ ]就直接存int (不会自动装箱);若存进Object[ ]就会自动装箱。【数组存储同种数据类型】

Object[] arrays = {2020};

System.out.print((int)arrays[0] + 10);编译报错!编译器认为强转可能不成功!
正确写法:
if(arrays[0] instanceof Integer){
	int a = (int)arrays[0];
	System.out.print(a + 10);
}...
  1. 以第一个元素的地址作为这整个数组引用的值
  2. 是查询效率最高的一个数据结构
  3. 数组很难存储大数据量【因为很难在内存中找到一块特别大的连续内存空间】

其实数组对象里面还有length等属性:
在这里插入图片描述

初始化数组

  1. 也可以 int array1[ ];
  2. 只有这两种方法初始化! 数组是定长的,初始化一定要声明出来!
  3. int[] a = {}; <==> int[] a = new int[0]; 等价,都创建了长度为零的数组对象【有等号就会有对象,不会有空指针异样】
    第二种初始化一定一定会赋默认值!
    在这里插入图片描述
  4. 多态
    在这里插入图片描述
嗯 又来一个恶心的🤢

其实也没啥,和匿名类一个道理。
在这里插入图片描述

main方法中的(String[ ] args)

接受用户传递参数(java admin 123)
在这里插入图片描述

数组扩容方法

由于数组长度确定后不能够改变,所以数组扩容,需要把原数组内容拷贝到新数组内容中去,代价较大!
方法:arraycopy(源数组, 拷贝起始下标,目标数组, 目的起始下标,拷贝长度 ):(注意是System中)
在这里插入图片描述

二维数组

在这里插入图片描述同样:
在这里插入图片描述
拓展:当要表示多维数组时,用数组往往会更加直观。比如 Object[][] array;而用容器的话则需要这样定义:ArrayList< ArrayList < Object > > array。

代码:com.neuq.Hotel数组赋值前一定要声明大小初始化!!!

数组算法

排序算法
数组工具类 java.util.Arrays(注意sssssss)

包含sort、select等多种方法,且全部为static方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值