当前位置: 首页 > news >正文

[Java · 铢积寸累] 数据结构 — 数组类型 - Arrays 工具类详解

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java · 学习手册

基础回顾 🚀: Java · 初窥门径 —— Java API 文档使用说明

在前面的章节中,我们介绍了 Java 中的数组以及针对的数组的各个操作。可是呢,对于数组的增删改查我们当时都是通过算法完成的,还是太吃操作了。有没有更简单的方法呢?

有的,兄弟,有的,Java 提供了一个 Arrays 类,该类中就包含了用来操作数组的各种方法:

0x01:toString() => 打印数组内容

Arrays 类(至于啥是类,我们很快就会接触到)中的 toString() 方法能够打印数组的内容,从 Java 的 API 文档可以看出来,它还是写了不少重载的方法的(笔者没截全)。

以下是该方法的一个使用示例:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {1, 2, 3, 4, 5};System.out.println(Arrays.toString(arr));}
}

0x02:sort() => 对数组进行升序排序

Arrays 类中的 sort() 方法则可以帮助我们给数组进行升序排序:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {5, 4, 3, 2, 1};Arrays.sort(arr);System.out.println(Arrays.toString(arr));}
}

0x03:binarySearch() => 对数组进行二分法查找

Arrays 类的 binarySearch() 方法通过二分法来从指定数组中获取指定元素对应的下标(前提是这个数组已经按升序排好序了)。示例代码如下:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};System.out.println(Arrays.binarySearch(arr, 30));}
}

0x04:copyOfRange => 区间复制

Arrays 类的 copyOfRange() 方法可是实现数组的区间复制,看下面这个例子:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};int[] arrs = new int[3];arrs = Arrays.copyOfRange(arr, 1, 3); // 复制 [1, 3) 的位置的值System.out.println(Arrays.toString(arrs));}
}

0x05:equals => 比较数组是否相等

Arrays 类的 equals() 方法用于比较两个数组对象的值是否相等,相等则返回 true,否则返回 false:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};int[] arrs = {10, 20};System.out.println(Arrays.equals(arrs, arr));}
}

0x06:fill => 填充数组

Arrays 中的 fill() 方法能够使用指定值填充满数组,又可以指定填充的范围:

import java.util.Arrays;
​
public class TestVar {public static void main(String[] args) {int[] arr = {10, 20, 30, 40};int[] arrs = {10, 20, 30, 40, 50};Arrays.fill(arr, 10); // 使用 10 填充满 arrArrays.fill(arrs, 1, 3, 20); // 指定将数组的 [1, 3) 填充为 20
​System.out.println(Arrays.toString(arr));System.out.println(Arrays.toString(arrs));}
}

http://www.xdnf.cn/news/87931.html

相关文章:

  • 文献分享:不同抗体表位作图技术比较
  • 《计算机视觉度量:从特征描述到深度学习》—深度学习图像特征工程
  • 动态加载内容时selenium如何操作?
  • Kubernetes相关的名词解释etcdctl(20)
  • 鸿蒙移动应用开发--渲染控制实验
  • 【MCP Node.js SDK 全栈进阶指南】初级篇(2):MCP基础服务器开发
  • Python3中使用jupyter notebook
  • Vue2 el-checkbox 虚拟滚动解决多选框全选卡顿问题 - 高性能处理大数据量选项列表
  • 高性能服务器配置经验指南1——刚配置好服务器应该做哪些事
  • 字符串全排列(Java版本自己用)
  • SpringBoot3集成MyBatis-Plus(解决Boot2升级Boot3)
  • MQ底层原理
  • AI代表企业签订的合同是否具有法律效力?
  • 第一章-语言基础\2.竞赛常用库函数\其他库函数
  • AXOP33552: 400MHz 高速双通道运算放大器
  • 《AI大模型应知应会100篇》 第33篇:大模型在法律文档处理中的应用
  • 第T9周:猫狗识别2
  • MySQL中根据binlog日志进行恢复
  • SAS宏调试:高效定位与解决典型问题
  • 德施曼重磅发布五大突破性技术及多款重磅新品,开启AI智能管家时代
  • 使用 rebase 轻松管理主干分支
  • 【Linux】静态库 动态库
  • ZLG嵌入式笔记 | 拯救NAND/eMMC:延长闪存寿命
  • OpenCv高阶(七)——图像拼接
  • 高级java每日一道面试题-2025年4月22日-基础篇[反射篇]-如何通过反射创建一个对象实例?
  • Redi的常见场景
  • Agent框架LangGraph:实现一个简单的Plan-and-Execute Agent
  • 使用Java调用TensorFlow与PyTorch模型:DJL框架的应用探索
  • xyz 瓦片leaflet地图组件 显示
  • 软考-高项,知识点一览十九 配置和变更管理