一.声明数组变量
dataType[] arrayRefVar;
或
dataType arrayRefVar[];
String[] names; // 首选的方法
或
String names[]; // 效果相同,不是首选方法,为了让让 C/C++ 程序员能够快速理解java语言
二.创建数组
dataType[] arrayRefVar = new dataType[arraySize];
String[] names = new String[5];
上面的语法做了两件事:
-
使用dataType[arraySize] 创建了一个数组。
-
把新创建的数组的引用赋值给变量 arrayRefVar。
还可以用下面的方式创建数组:
dataType[] arrayRefVar = {value0, value1, ..., valuek};
三.处理数组
public static void main(String[] args){
Random r = new Random();
//尽量不要扩大变量的作用域
int[] count = new int[10];
for (int i = 0; i < 10; i++) {
count[i] = r.nextInt(10);
}
//数组第一种方式输出
for (int i = 0; i < 10; i++) {
System.out.print(count[i]+" ");
}
System.out.println("");
//数组第二种方式输出
for (int temp : count) {
System.out.print(count[temp]+" ");
}
System.out.println("");
//数组第三种输出方式
System.out.println(Arrays.toString(count));
}
四.数组作为函数的参数
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
五.数组作为函数的返回值
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
六.Arrays类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
功能:
- 给数组赋值:通过 fill 方法。
//将指定的 int 值分配给指定 int 型数组指定范围中的每个元素
//全部赋值 val
public static void fill(int[] a, int val)
//将索引值i1到i2范围(不包括i2)的元素全部赋值 val
public static void fill(int[] a, int i1,int i2,int val)
- 对数组排序:通过 sort 方法,按升序。
//对指定对象数组根据其元素的自然顺序进行升序排列
public static void sort(Object[] a)
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
//如果两个数组以相同顺序包含相同的元素,则两个数组是相等的
public static boolean equals(long[] a, long[] a2)
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
//如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。
public static int binarySearch(Object[] a, Object key)
网友评论