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

用于将数组转换为字符串表示形式,来打印数组的内容

Arrays.toString() 方法的主要作用是将数组的内容转换为一个字符串,该字符串以方括号 [] 包围,并用逗号分隔每个元素。对于基本数据类型(如 int、double 等),它会直接显示元素的值。对于对象数组,它会调用每个对象的 toString() 方法来获取其字符串表示。

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
    
    
        // 基本数据类型数组
        int[] intArray = {1, 2, 3, 4, 5};
        System.out.println(Arrays.toString(intArray)); // 输出: [1, 2, 3, 4, 5]
        
        

        // 对象数组
        String[] stringArray = {"apple", "banana", "cherry"};
        System.out.println(Arrays.toString(stringArray)); // 输出: [apple, banana, cherry]
        
        

        // 多维数组
        int[][] multiIntArray = {{1, 2}, {3, 4}, {5, 6}};
        System.out.println(Arrays.toString(multiIntArray)); // 输出: [[I@1b6d3586, [I@4554617c, [I@74a14482]
        
        // 注意:对于多维数组,Arrays.toString() 只会打印数组的引用,而不是其内容。
        // 要打印多维数组的内容,可以使用 Arrays.deepToString() 方法。
        System.out.println(Arrays.deepToString(multiIntArray)); // 输出: [[1, 2], [3, 4], [5, 6]]
    }
}
注意事项
  • 对于多维数组,Arrays.toString() 只会打印数组的引用,而不是其内容。要打印多维数组的内容,可以使用 Arrays.deepToString() 方法。
  • 对于包含 null 元素的数组,Arrays.toString() 会显示 null

2.append:

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

示例:

1.通过 StringBuilder 的构造函数创建了一个空的名称为sb的字符串

2.在这个字符串后面添加Hello

3.在这个字符串后面添加空格

4.在这个字符串后面添加World

5.输出最终的字符串

示例:
//首先通过 StringBuilder 的构造函数创建了一个空的名称为sb的字符串。
StringBuilder sb = new StringBuilder();

// 2. 在这个字符串后面添加Hello
sb.append("Hello");

// 3. 在这个字符串后面添加空格
sb.append(" ");

 // 4. 在这个字符串后面添加World
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

数组填充

​ 两个小例子:

  1. a数组 {1,2,3,4,9090,31231,543,21,3,23},用0代替a数组里面的每一个元素

     				2.    a数组     {1, 2, 3, 3, 4, 21, 23, 543, 9090, 31231},a数组里面的下标2、3元素被0代替
    
//4.数组填充
        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]
//4.数组填充
        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  阅读(9)  评论(0编辑  收藏  举报