Java刷题常用的Arrays方法(超全~~~)

Java-Arrays类常用方法详解
一、Arrays类的定义 Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法二、Arrays类的常用方法
1、Arrays.fill(Object[ ] array, Object obj)
用指定元素填充整个数组(替换数组原元素)
      int arr[]={1,2,3,4};
      Arrays.fill(arr,5);
      for(int i=0;i<arr.length;i++)
       {
           System.out.println(arr[i]);//[5,5,5,5]
       }
2、Arrays.sort(Object [ ]arr)
对传入数组进行递增排序,字符则按照ASCII进行排序(不区分大小写)
       int arr[]={5,2,3,4};
       char nums[]={'n','c','a','o'};
       Arrays.sort(nums);
       for(int i=0;i<nums.length;i++)
       {
           System.out.println(nums[i]);//[a,c,n,o]
       }
        for(int i=0;i<arr.length;i++)
        {
            System.out.println(arr[i]);//[2,3,4,5]
        }
Arrays.sort(Object [ ]arr,int start,int end)
对区间内的元素进行递增排序
       int arr[]={5,2,3,4};
       Arrays.sort(arr,0,2);
        for(int i=0;i<arr.length;i++)
        {
            System.out.println(arr[i]);//[2,5,3,4]
        }
3、Arrays.equal(Object []arr,Object []nums)
判断两个数组是否相等,实际上比较的是两个数组的哈希值,
      char arr[]={'a','b','C'};
      char nums[]={'a','B','C'};
       System.out.println(Arrays.equals(arr,nums));//false
 
     int arr[]={1,2,3};
     int nums[]={1,2,3};
       System.out.println(Arrays.equals(arr,nums));//true
4、Array.hashCode(Object []arr)
返回数组的哈希值
Int[] data = {1, 2, 3};
System.out.println(Arrays.hashCode(data)); // 30817
5、Arrays.copyOf(Object [])
拷贝数组,其内部调用了 System.arraycopy() 方法,从下标0开始,如果超过原数组长度,会用null进行填充。
int[] data1 = {1, 2, 3, 4};
int[] data2 = Arrays.copyOf(data1, 2);
for(int i=0;i<data2.length;i++)
{
System.out.println(data2[i]); // [1, 2]
}
int[] data2 = Arrays.copyOf(data1, 5);
for(int i=0;i<data2.length;i++)
{
System.out.println(data2[i]); // [1, 2, 3, 4, null]
}
Arrays.copyOfRange(T[] original, int from, int to)
拷贝数组,指定起始位置和结束位置,如果超过原数组长度,会用null进行填充
int[] data1 = {1, 2, 3, 4};
int[] data2 = Arrays.copyOfRange(data1, 0, 2);
for(int i=0;i<data2.length;i++)
{
System.out.println(data2[i]); // [1, 2]
}
int[] data2 = Arrays.copyOfRange(data1, 5);
for(int i=0;i<data2.length;i++)
{
System.out.println(data2[i]); // [1, 2, 3, 4, null]
}
 6、Arrays.toString(Object []arr)
将数组中的内容全部打印出来

     char arr[]={'a','b','C'};
      int nums[]={1,1,2,3,4};
     System.out.println(Arrays.toString(arr));//[a,b,c]
     System.out.println(Arrays.toString(nums));//[1,1,2,3,4]
 7、Arrays.binarySearch(Object []arr,T ans)
二分查找法找指定元素的索引值(数组一定是排好序的,否则会出错。找到元素,只会返回最后一个位置)
    int[] arr = {10,20,30,40,50};
    System.out.println(Arrays.binarySearch(arr, 30));
    //输出:2 (下标索引值从0开始)
 
    int[] arr = {10,20,30,40,50};
    System.out.println(Arrays.binarySearch(arr, 36));
    //输出:-4 (找不到元素,返回-x,从-1开始数,如题,返回-4


#Java#
全部评论
我最近也在刷题
点赞 回复 分享
发布于 2022-08-15 20:23

相关推荐

评论
2
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务