java - 数组

1. 数组的概念

        多个相同数据类型按一个顺序排列的集合,数组用一个名字命名,通过编号管理

2. 数组的特点

        2.1 数组本身是引用数据类型 元素可以是任意数据类型(引用/基本数据类型)

        2.2 创建数组对象会在内存中开辟一整块连续空间,占用空间大小取决于数组长度和元素类型

        2.3 数组元素有序紧密排列,可直接通过索引方式调用

        2.4 数组一旦初始化完成长度就是确定的,长度一旦确定就不能修改

        2.5 数组名引用的是数组占用空间的首地址

3. 数组分类

        3.1 按元素类型分为 引用数据类型 基本数据类型

        3.2 按维度分为 一维数组 二维数组 

4. 数组元素的默认值 

   

5. 一维数组内存分析 

6. Arrays工具类

        6.1 数组元素拼接:

  • static String toString(int[] a) :字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。形式为:[元素1,元素2,元素3。。。]

  • static String toString(Object[] a) :字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。元素将自动调用自己从Object继承的toString方法将对象转为字符串进行拼接,如果没有重写,则返回类型@hash值,如果重写则按重写返回的字符串进行拼接。

        6.2 数组排序

  • static void sort(int[] a) :将a数组按照从小到大进行排序

  • static void sort(int[] a, int fromIndex, int toIndex) :将a数组的[fromIndex, toIndex)部分按照升序排列

  • static void sort(Object[] a) :根据元素的自然顺序对指定对象数组按升序进行排序。

  • static <T> void sort(T[] a, Comparator<? super T> c) :根据指定比较器产生的顺序对指定对象数组进行排序。

        6.3 数组元素二分查找

  • static int binarySearch(int[] a, int key) 、static int binarySearch(Object[] a, Object key) :要求数组有序,在数组中查找key是否存在,如果存在返回第一次找到的下标,不存在返回负数。

        6.4 数组复制

  • static int[] copyOf(int[] original, int newLength) :根据original原数组复制一个长度为newLength的新数组,并返回新数组

  • static <T> T[] copyOf(T[] original,int newLength):根据original原数组复制一个长度为newLength的新数组,并返回新数组

  • static int[] copyOfRange(int[] original, int from, int to) :复制original原数组的[from,to)构成新数组,并返回新数组

  • static <T> T[] copyOfRange(T[] original,int from,int to):复制original原数组的[from,to)构成新数组,并返回新数组

        6.5 比较两数组是否相等

  • static boolean equals(int[] a, int[] a2) :比较两个数组的长度、元素是否完全相同

  • static boolean equals(Object[] a,Object[] a2):比较两个数组的长度、元素是否完全相同

        6.6 填充数组

  • static void fill(int[] a, int val) :用val值填充整个a数组

  • static void fill(Object[] a,Object val):用val对象填充整个a数组

  • static void fill(int[] a, int fromIndex, int toIndex, int val):将a数组[fromIndex,toIndex)部分填充为val值

  • static void fill(Object[] a, int fromIndex, int toIndex, Object val) :将a数组[fromIndex,toIndex)部分填充为val对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值