Java数组05:Arrays类

本文详细介绍了Java中的Arrays类,包括如何使用Arrays.fill填充数组,Arrays.toString打印数组,Arrays.sort进行数组排序,Arrays.equals比较数组内容,以及Arrays.binarySearch在排序数组中查找元素。此外,还展示了Arrays.copyOfRange方法用于复制数组部分元素。
摘要由CSDN通过智能技术生成

一、Arrays类

  • 数组的工具类 java.util.Arrays
  • 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作。
  • 查看JDK帮助文档
  • Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而 “不用” 使用对象来调用(注意:是 “不用” 而不是 “不能” )
  • 具体以下常用功能:
    • 给数组赋值(填充):通过 Arrays.fill 方法
      public class Array14 {
          public static void main(String[] args) {
              int[] a = {1,2,3,323,43432,33333,32};
      
              //填充(赋值)Arrays.fill
      
              //把下标为1的元素改为55,则区间在[1,2)
              Arrays.fill(a,1,2,55);//将下标[1,2)区间的数赋值为55
              System.out.println(Arrays.toString(a));//输出 [1, 55, 3, 323, 43432, 33333, 32]
             
              //把所有元素值改为55
              Arrays.fill(a,55);
              System.out.println(Arrays.toString(a));//输出[55, 55, 55, 55, 55, 55, 55]
          }
      }
      
    • 打印数组元素:通过 Arrays.toString() 方法
      public class ArrayDemo05 {
          public static void main(String[] args) {
      
              int[] a = {1,2,3,323,43432,33333,32};
              int[] b = {1,3,4,55,232,43421,323155,22};
      
              System.out.println(a);//输出 [I@7c30a502 这是一个对象 hash库
      
              //打印数组元素 Arrays.toString
              System.out.println(Arrays.toString(a));// [1, 2, 3, 323, 43432, 33333, 32]
              System.out.println(Arrays.toString(b ));//[1, 3, 4, 55, 232, 43421, 323155, 22]
          }
      }
      
    • 对数组排序:通过 Arrays.sort 方法,按升序
      public class ArrayDemo05 {
          public static void main(String[] args) {
      
              int[] a = {1,2,3,323,43432,33333,32};
              int[] b = {1,3,4,55,232,43421,323155,22};
      
              //数组进行排序(升序) Arrays.sort
              Arrays.sort(a);
              Arrays.sort(b);
              //打印出排序好的数组
              System.out.println(Arrays.toString(a));//输出 [1, 2, 3, 32, 323, 33333, 43432]
              System.out.println(Arrays.toString(b));//输出 [1, 3, 4, 22, 55, 232, 43421, 323155]
          }
      }
      
    • 比较数组:通过 Arrays.equals 方法比较数组中元素值是否相等
      public class ArrayDemo05 {
          public static void main(String[] args) {
      
              int[] a = {1,2,3,323,43432,33333,32};
              int[] b = {1,3,4,55,232,43421,323155,22};
              int[] c = {1,2,3,323,43432,33333,32};
              //比较数组 Arrays.equals 
              Arrays.equals(a,b);
              System.out.println(Arrays.equals(a,b));// false
              Arrays.equals(a,c);
              System.out.println(Arrays.equals(a,c));// true
          }
      }
      
    • 查找数组元素:通过 Arrays.binarySearch 方法能对排序好的数组进行二分查找法操作
      public class ArrayDemo05 {
          public static void main(String[] args) {
      
              int[] a = {1,2,3,323,43432,33333,32};
      
              //使用 Arrays.binarySearch 之前,必须先使用sort进行排序
              Arrays.sort(a);
              System.out.println(Arrays.toString(a));
              
              //查找数组元素 Arrays.binarySearch  给出排序后的下标
              Arrays.binarySearch(a,43432);
              System.out.println(Arrays.binarySearch(a,43432));
          }
      }
      
    • 复制数组元素:通过 Arrays.copyOfRange 方法进行数组复制操作
      public class Array14 {
          public static void main(String[] args) {
              //定义一个数组
              int[] a = new int[]{11,43,55,64,42,43};
      
              // copyOfRange(int[] original, int from, int to)
              // 第一个参数表示源数组
              // 第二个参数表示开始位置(取得到)
              // 第三个参数表示结束位置(取不到)
      
              //使用 Arrays.copyOfRange 来复制a数组的部分元素到b数组
              int[] b = Arrays.copyOfRange(a,2,5);
              for (int i : b) {
                  System.out.print(i+" ");// 55 64 42 
              }
          }
      }
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值