数组常用方法总结
- 一.获取数组长度
- 1.1 使用length
- 二.数组转字符串
- 2.1 Arrays是什么
- 2.2 使用toString()
- 三. 数组拷贝
- 3.1 使用 copyOf()
- 3.2 copyOfRange()
- 四.数组排序
- 4.1使用 sort()
- 五. 数组逆序
- 六. 判断两个数组是否相等
- 6.1 使用equals()
一.获取数组长度
1.1 使用length
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()
二.数组转字符串
2.1 Arrays是什么
Arrays是操作数组相关的工具类。
Java 中提供了 java.util.Arrays 包, 其中包含了一些操作数组的常用方法.
2.2 使用toString()
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也可以看到修改的结果。
3.1 使用 copyOf()
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没有任何影响。
3.2 copyOfRange()
public static <T> T[] copyOfRange(T[] original, int from, int to)
这个方法可以用来截取数组的一部分,并将其复制到一个新的数组中。
四.数组排序
4.1使用 sort()
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类中没有提供直接逆序的方法
六. 判断两个数组是否相等
6.1 使用equals()
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);
}
执行结果如下: