Java Arrays数组工具类(powernode)

本文详细介绍了Java中的Arrays工具类,包括toString()方法将数组转换为字符串,equals()方法判断数组内容是否相等,sort()方法进行数组排序,binarySearch()方法实现二分查找,fill()方法填充数组,copyOf()方法进行数组拷贝,以及asList()方法创建固定大小的列表。示例代码展示了每个方法的具体使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java Arrays数组工具类(powernode)


Arrays用于操作数组工具类,里面定义了常见操作数组的静态方法。
注意:要使用Arrays工具类,必须导入Arrays工具类。
import java.util.Arrays;

1.1 toString方法

public static String toString(Type[] arr),返回指定数组内容的字符串表示形式。
【示例】

int[] arr = {3, 5, 1, 7, 6, 2, 4};
// 把数组转化为字符串输出
System.out.println(Arrays.toString(arr)); // 输出:[1, 2, 3, 4, 5, 6]

1.2 equals判断

public static boolean equals(Type[] a1, Type[] a2), 判断两个数组中的内容是否相同。
【示例】

int[] arr1 = {3, 5, 1, 7, 6, 2, 4};
int[] arr2 = {3, 5, 1, 7, 6, 2};
// 判断两个数组的内容是否相同
boolean flag = Arrays.equals(arr1, arr2);
System.out.println(flag); // 输出:false

1.3 sort排序

public static void sort(Type[] arr) ,对数组中的内容进行升序排序。
【示例】

int[] arr = {3, 5, 1, 7, 6, 2, 4};
// 对数组中的内容进行升序排序
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // 输出:[1, 2, 3, 4, 5, 6, 7]

1.4 二分法查找

public static int binarySearch(Type[] arr, Type key),查找key在数组中的索引位置。如果找到,则返回索引位置;如果没找到,则返回一个负数。
注意:在调用此调用之前,必须先对数组进行排序。
【示例】

// 排序好的数组
int[] arr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
// 查找6在数组中的索引位置
int index = Arrays.binarySearch(arr, 6);
System.out.println(index);  // 输出:6
// 查找18在数组中的索引位置
index = Arrays.binarySearch(arr, 18);
System.out.println(index);  // 输出:-11,证明没找到

1.5 fill填充数组

public static void fill(Type[] a, Type val),给数组填充指定内容。
【示例】

int[] arr = new int[5];
Arrays.fill(arr, 89);
System.out.println(Arrays.toString(arr)); // 输出:[89, 89, 89, 89, 89]

1.6 数组拷贝

public static Type[] copyOf(Type[] original, Type newLength),从数组的第一个元素开始拷贝,拷贝指定长度的数组,拷贝完成返回一个新的数组。
【示例】

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

public static Type[] copyOfRange(Type[] original, int from, int to),从指定范围拷贝数组,拷贝完成返回一个新的数组。

【示例】

int[] arr = {1, 2, 3, 4, 5, 6, 7, 8};
int[] newArr = Arrays.copyOfRange(arr, 2, 5);
System.out.println(Arrays.toString(newArr));   // 输出:[3, 4, 5]

1.7 Arrays.asList()

  • Arrays类的 static <T> List<T> asList(T... a) 返回一个受 指定数组 支持的 固定大小列表
  • 该方法得到的集合 不能做 元素的增加和删除,否则回报java.lang.UnsupportedOperationException异常
import java.util.Arrays;
import java.util.List;

/**
 * Arrays类:
 * static <T> List<T> asList(T... a) 返回一个受 指定数组 支持的 固定大小 的 列表。
 * 该方法得到的集合 不能做 元素的增加和删除
 */
public class Arrays_asList {
    public static void main(String[] args) {
        System.out.println("-----------Arrays类的asList----------------");
        /*
         * Arrays.asList 得到的集合不能做元素的增加和删除
         */
        List ints = Arrays.asList(1,2,3,4,5);
        System.out.println(ints);
        // java.lang.UnsupportedOperationException
//        ints.add(100);
//        ints.remove(2);
        System.out.println(ints.contains(2));
        System.out.println(ints);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FBI HackerHarry浩

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值