public static void main(String[] args) {
//求数组的长度
int[] arr=new int[]{1,2,3,4,5,6};
int length= arr.length;
System.out.println(length);
}
注意:
获取数组的长度,使用数组名.length
获取字符串长度,使用字符串名.length()
Arrays是操作数组相关的工具类。
Java 中提供了 java.util.Arrays 包, 其中包含了一些操作数组的常用方法.
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr=new int[]{1,2,3,4,5,6};
//数组转字符串
System.out.println(Arrays.toString(arr));
}
}
使用这个方法后续打印数组就更方便一些.
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
int[] newArr = arr;
newArr[0] = 10;
System.out.println("arr: " + Arrays.toString(arr));
}
执行结果如下:
newArr和arr引用的是同一个数组, 因此newArr修改空间中内容之后,arr也可以看到修改的结果。
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
int[] newArr = Arrays.copyOf(arr,arr.length);
newArr[0] = 10;
System.out.println("arr: " + Arrays.toString(arr));
System.out.println("newArr: "+Arrays.toString(newArr));
}
}
使用Arrays中copyOf方法完成数组的拷贝:
copyOf方法在进行数组拷贝时,创建了一个新的数组,arr和newArr引用的不是同一个数组。 因此newArr修改其引用数组中内容时,对arr没有任何影响。
public static <T> T[] copyOfRange(T[] original, int from, int to)
这个方法可以用来截取数组的一部分,并将其复制到一个新的数组中。
public static void main(String[] args) {
int[] arr={1,5,3,4,6,2};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
sort()可以将数组正向排序
思路:
- 设定两个下标,分别指向第一个元素和最后一个元素,交换两个下标位置上的元素。
- 让前一个下标自增,让后一个下标自减,循环继续即可。
public static void main(String[] args) {
int[] arr={1,2,3,4,5};
reverse(arr);
System.out.println(Arrays.toString(arr));
}
public static void reverse(int[] arr){
int left=0;
int right=arr.length-1;
while (left<right){
int tmp=arr[left];
arr[left]=arr[right];
arr[right]=tmp;
left++;
right--;
}
}
Arrays类中没有提供直接逆序的方法
public static void main(String[] args) {
int[] arr1= {1,2,3,4,5};
int[] arr2= {1,2,3,4,5};
boolean flg = Arrays.equals(arr1,arr2);
System.out.println(flg);
}