- Java 中,数组是一种引用类型。
- Java 中,数组是用来存储固定大小的同类型元素。
- 数组对象(这里可以看成一个指针)存储在栈中。数组元素存储在堆中。
数组和容器
Java 中,数组是一种效率最高的存储和随机访问对象引用序列的方式。数组的效率要高于容器(如 ArrayList)。
数组可以持有值类型,而容器则不能(这时,就必须用到包装类)。
数组的使用
数组的定义和使用需要通过方括号 []。
Java 语言使用 new 操作符来创建数组。有两种创建数组方式:
- 指定数组维度
- 为数组开辟指定大小的数组维度。
- 如果数组元素是基础数据类型,会将每个元素设为默认值;如果是引用类型,元素值为 null。
- 不指定数组维度
- 用花括号中的实际元素初始化数组,数组大小与元素数相同。
数组作为函数的参数
Java 中,数组类型是一种引用类型。
因此,它可以作为引用,被 Java 函数作为函数入参或返回值。
public static void printArray(int[] array) {}
printArray(new int[]{3, 1, 2, 6, 4, 2});
Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
-
给数组赋值:通过 fill 方法。
public static void fill(int[] a, int val)
将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 -
对数组排序:通过 sort 方法,按升序。
public static void sort(Object[] a)
对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 -
比较数组:通过 equals 方法比较数组中元素值是否相等。
public static boolean equals(long[] a, long[] a2)
如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等) -
查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
public static int binarySearch(Object[] a, Object key)
用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。
网友评论