前言
在这篇post,我将讲述如何在Java中创建和使用数组(array)。
创建数组
与C++的语法稍微不同,在Java中,我们使用以下的语法来创建一个数组:
1 | Type arrayRefVar[] = new Type[arraySize]; |
这条语句创建了一个Type类型的数组,数组的首地址存放在变量arrayRefvar中,数组的大小是arraySize。
数组的操作
元素访问
在Java中,数组元素的访问和C++是一样的,使用[]
来对下标进行访问即可。
获取长度
Java中的数组可以直接获取长度,可以使用以下语法来获取一个已申请空间的数组:
1 | int size = arrayRefVar.length; |
遍历数组
Java为用于提供了一个快捷而方便的方法去对一个数组进行全遍历,语法如下(这是一个对double类型数组的每一个元素输出的操作):
1 | for (double u: myList) { |
数组的复制
与C++一样,像list2 = list1
这样的赋值语句会使得list2原本指向的内存空间变成垃圾,虽然JVM的GC机制最终会回收这一块垃圾,但是我依然不建议直接使用赋值的方法来对数组进行复制。
首先给出一种常用的方法来复制数组,这是与C++一样的:
1 | int[] sourceArray = {2, 3, 1, 5, 10}; |
除了上述的方法外,Java在java.lang.System
给我们提供了arraycopy()
方法对数组进行复制。语法如下:
1 | arraycopy(sourceArray, src_pos, targetArray, tar_pos, length); |
将上面循环复制的代码替换一下:
1 | System.arraycopy(sourceArray, 0, targetArray, 0, sourceArray.length); |
The Arrays Class
java.util.Arrays类包含了一系列关于排序和查找的静态方法
首先我们来看一下sort()
方法,该方法可用于对整个数组的排序或者对部分数组的排序。用法示例如下:
1 | double[] numbers = {6.0, 4.4, 1.9, 2.9, 3.4, 3.5}; |
然后我们来看一下equals()
方法,该方法用于检查两个数组是否等价。用法示例如下:
1 | int[] list1 = {2, 4, 7, 10}; |
最后我们来了解一下fill()
方法,该方法用于使用某个特定元素填充整个数组或者部分数组。用法示例如下:
1 | int[] list1 = {2, 4, 7, 10}; |
关于java数组以及Arrays类的一些基本用法就讲到这里了,谢谢!