Arrays常用方法

1.Arrays.toString()方法
方法作用:快速输出数组内容

int[] a = {1,2,3,4,5};
System.out.println(Arrays.toString(a));
// 输出格式:[1,2,3,4,5]

2.Arrays.sort()方法
方法作用:给数组排序,默认升序

int[] a = new int[5]{5,4,3,2,1};
Arrays.sort(a); // 1 2 3 4 5
System.out.println(Arrays.toString(a));
// [1,2,3,4,5]

有两个重载方式:

①.Arrays.sort(数组名)

   如上

②.Arrays.sort(数组名,起始下标,排序个数)

Scanner s = Scanner(System.in);
int n = s.nextInt();
int[] a = new int[n]
for(int i = 0; i < n; i++)
a[i] = s.nextInt();
Arrays.sort(a,0,n - 1);
//输入n个数,按照升序排列

对字符串进行排序时,是对每一个字符比较,而不是简单的比较长度

// str1 = abd
// str2 = abcdef
// 因为d > c,所以 str1 > str2

3.Arrays.equals()方法
方法作用:比较两个数组内容是否相等

int[] a = {1,2,3};
int[] b = {1,2,3};
boolean isSame = Arrays.equals(a,b);
//true

注意:Arrays.equals()是比较数组内容,而a.equals(b) 这样的方法是比较地址值

4.Arrays.binarySearch()
方法作用:在数组中查找元素

int Arrays.binarySearch( Datatype[], Datatype key)
再数组中查找指定值,若找到,则返回此值的下标,

若没找到,返回 -插入点-1;

如:

int[] a = {1,5,6,7};
Arrays.binarySearch(a,2) //没找到,插入点为1,则返回 -2
Arrays.binarySearch(a,4) //没找到,插入点为1,则返回 -2
Arrays,binarySearch(a,8) //没找到,插入点为4,则返回 -5
Arrays.binarySearch(a,5) //找到了!返回下标 1

只要返回值 ≥ 0 ,就代表找到了。
5.Arrays.copyOf()
方法作用:拷贝数组

源码如下:第一个参数是原数组,第二个参数是拷贝长度,返回值是将原数组拷贝一份返回

(它的底层其实是调用了System.arrayCopy()方法)

public static <T> T[] copyOf(T[] original, int newLength) {
return (T[]) copyOf(original, newLength, original.getClass());
}

需要注意的是返回值是一个新数组,会改变接收这个新数组的引用的一些属性

public static void main(String[] args) {
int[] arr1 = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] arr2 = new int[5];
arr2 = Arrays.copyOf(arr1, 10);
}

 

posted @   因为在乎  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示