Day25--arrays类

Day25--arrays类

Arrays 类

Arrays 类是数组的工具类,位于 java.util.Arrays。

由于数组对象本身没有很多方法可供调用,API 中提供了 Arrays 工具类以供使用,可对数组对象进行一些基本操作。

Arrays 类中的方法都是 static 修饰的静态方法,使用时可直接用类名调用(是 “不用” 而不是不能通过对象调用)。具有以下常用功能:

  1. 给数组赋值:通过 fill 方法。
  2. 对数组排序:通过 sort 方法,按升序。
  3. 比较数组:通过 equals 方法比较数组中元素值是否相等。
  4. 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

在代码里输入Arrays,回车,就引入了arrays的工具包

image-20241030172349331

选中Arrays--ctrl---Arrays类的源码--structure--arrays的方法

1.Arrays.toString

打印数组元素:

//打印数组元素
            int[] a={1,2,3,4,9090,31231,543,21,3,23};
            System.out.println(a);//[I@10f87f48
            //不能直接输入a来打印数组元素
            System.out.println("++++++++++++++++++++++++++++++++++++++++++");
            //Arrays.     用Arrays的方法
            //Arrays.toString   打印数组元素
            System.out.println(Arrays.toString(a));//[1, 2, 3, 4, 9090, 31231, 543, 21, 3, 23]
            System.out.println("++++++++++++++++++++++++++++++++++++++++++");
           printArray(a);
    }
    
    //写方法:输出每个元素加【】
    //重复造轮子:已经有的方法,我们不用再造方法了。我们下面的只是说明,系统自带的方法我们也可以写出来的
    public static void printArray(int[] a){
        System.out.print("[");
        for (int i = 0; i < a.length; i++) {
            if(i==a.length-1){
                System.out.print(a[i]);
            }else{
                System.out.print(a[i]+", ");
            }
        }
        System.out.print("]");
    }

2.append:

用于在字符串末尾添加字符或字符串

示例:

StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
System.out.println(sb.toString()); //Hello World
StringBuffer sbf = new StringBuffer();
sbf.append(123);
sbf.append('!');
System.out.println(sbf.toString()); //123!

深度理解:与其他类似操作的区别

  • String
    

    +
    

    操作符的区别

    • 使用+操作符连接字符串在 Java 中虽然方便,但在大量字符串拼接的情况下效率较低,因为每次+操作都会创建新的String对象。而StringBuilderStringBufferappend方法是在原对象上进行操作,避免了频繁创建新对象的开销。
  • List
    

    集合的

    add
    

    方法的区别

    • List集合的add方法是用于向列表中添加元素,列表中的元素可以是各种对象类型。而StringBuilderStringBufferappend方法是专门用于构建字符串,添加的内容最终会组成一个连续的字符串。

3.Arrays.sort()

数组进行排序(升序)

//数组进行排序
            int[] a={1,2,3,4,9090,31231,543,21,3,23};
            Arrays.sort(a);//数组进行排序: 升序
            Arrays.toString(a);//打印数组元素
            System.out.println(Arrays.toString(a));//输出排完序后的a   [1, 2, 3, 3, 4, 21, 23, 543, 9090, 31231]

4.Arrays.fill

数组填充

//3.数组填充
        int[] a={1,2,3,4,9090,31231,543,21,3,23};
        Arrays.fill(a,0);//用0代替a数组里面的每一个元素
        System.out.println(Arrays.toString(a));//[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
//3.数组填充
        int[] a={1, 2, 3, 3, 4, 21, 23, 543, 9090, 31231};
        Arrays.fill(a,2,4,0);//Arrays.fill(a,2,4,0)   a数组里面的下标2、3元素被0代替
        System.out.println(Arrays.toString(a));//[1, 2, 0, 0, 4, 21, 23, 543, 9090, 31231]

fill类型讲解:

public static void fill (byte [] byte val) 将指定的字节值分配给指定字节数组的每个元素。
参数;
a - 要填充的数组
val - 要存储在数组的所有元素中的值

posted @ 2024-10-30 18:11  1hahahahahahahaha  阅读(3)  评论(0编辑  收藏  举报