java - 数组工具类Arrays

news2025/5/23 9:25:11

目录

前言

一、Arrays是什么?

二、常用方法

1.toString():将数组转换为字符串形式。

2. binarySearch():在已排序的数组中查找指定元素的索引。

3.fill():将数组的所有元素都设置为指定值。

4. copyOf():将一个数组的部分或全部元素复制到一个新数组中。

 5.sort(数组):对数组进行排序。

6.sort(数组,排序规则):对数组进行排序。


前言

这篇博客给大家介绍一下操作数组的工具类Arrays


一、Arrays是什么?

在Java中,Arrays是一个提供了各种数组操作的工具类。它包含了许多静态方法,用于对数组进行排序、搜索、复制、填充等操作。Arrays类可以用于处理基本类型数组和对象类型数组。

Arrays类提供的方法可以大大简化对数组的操作,使得代码更加简洁和高效。它可以帮助开发人员快速完成常见的数组操作,而不需要手动编写复杂的循环和逻辑。

二、常用方法

  1. toString():将数组转换为字符串形式。
  2. binarySearch():在已排序的数组中查找指定元素的索引。
  3. fill():将数组的所有元素都设置为指定值。
  4. copyOf():将一个数组的部分或全部元素复制到一个新数组中。
  5. copyOfRange():将一个数组的指定范围内的元素复制到一个新数组中。
  6. sort(数组):对数组进行排序。
  7. sort(数组,排序规则):对数组进行排序。

1.toString():将数组转换为字符串形式。

 底层按照StringBuilder拼接

2. binarySearch():在已排序的数组中查找指定元素的索引。

 该方法要求传入的数组是升序的

实现也就是普通的二分查找的实现,不在多说

3.fill():将数组的所有元素都设置为指定值。

4. copyOf():将一个数组的部分或全部元素复制到一个新数组中。

 底层通过System类中的arraycopy实现

 copyOfRange()没什么可说,就是加了一个限定范围,值得一提的是拷贝的索引并不包含结束索引

即to索引位置的元素不在被拷贝之列

 5.sort(数组):对数组进行排序。

值得一提的是,如果在不指定比较规则的情况下,该排序只能对已有类型进行排序,因为已有类型的比较规则已经被提前写好,如果我们想要对自定义类型进行排序或者改变对已有类型的排序规则,那么就可以在参数中传递一个比较器对象,如果是自定义类型的话,还可以使其实现Comparable接口重写compareTo方法,这也可以作为一种备选方案

6.sort(数组,排序规则):对数组进行排序。

定义Student类 String name; int age; 

为了简单起见,我们指定比较规则为按照age的大小比较

关于匿名内部类,和Comparator我的博客有介绍,在这里不再多说

比较有意思的是sort的底层原理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1043080.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【实训项目】益农小程序

1.项目背景 受到疫情影响,农作物物流运输受阻、产品滞销,给农民的“菜园子”和市民的“菜篮子”带来不少影响,一边是农民种植的蔬菜、草莓等地产农副食品滞销,一边是城区居民买不到新鲜、实惠的农副产品。 有很多地区&#xff0…

【解决方案】‘create’ is not a member of ‘cv::aruco::DetectorParameters’

‘create’ is not a member of ‘cv::aruco::DetectorParameters’ 在构建AruCo标定板标定位姿代码的过程中,发现代码中认为create并不是aruco::DetectorParameters的成员函数,这是因为在4.7.0及以上的OpenCV版本中,对ArUco的代码做调整&…

【KingFusion】如何在3D场景实现流水效果

哈喽,大家好,我是雷工! 在项目过程中,经常会涉及到实现管道水流动效果,此篇记录在KingFusion中的3D场景实现水流效果。 以下为简单流水效果的样例, 一、效果展示 当点击水泵,水泵启动,显示流水…

Linux开篇指南针环境安装(第一课)

Linux开篇指南针(第一课) 1 LINUX 系统介绍 Linux是一种自由和开放源代码的类UNIX操作系统,它最初由芬兰的林纳斯托瓦兹在1991年创建。Linux是一种多用户、多任务操作系统,可以在各种硬件平台上运行,包括桌面、移动设备、服务器和超级计算机…

JavaScript项目1_猜数字(前导)

● 本节,我们将做这样的一个小游戏,意思就是随机生成一个数字,然后你去猜测,本文不涉及HTML和CSS的代码,如果有需要的话可以私信我! document.querySelector() document.querySelector() 是 JavaScript 中…

vue2.x 迭代更新项目去掉缓存处理

找到build文件下的webpack.prod.conf.js文件 定义一个常量version const Version new Date().getTime(); 然后在.js和.css前面加上.${Version}就可以了(注意得把原本的换成)

Dink进阶之路

1、环境变量 cat /etc/profile #flink需要 export HADOOP_CLASSPATHhadoop classpath export HADOOP_CONF_DIR/etc/hadoop/conf2、Flink配置 2.1、flink-conf.yaml jobmanager.rpc.address: node-146 jobmanager.rpc.port: 6123 # 设置jobmanager总内存 jobmanager.memory.…

MongoDB(二)基础操作 创建、删除,查询等

mongodb有一个特点,如果某个库,库下面没数据(mongodb成集合),该库等于不存在的 mongodb只要创建一个库,在库下写入数据,该库才会生成 mongoshe [-hhost -pxxx] 创建数据库 use 数据库名 # 如果…

阿里巴巴OceanBase介绍

前言 官网地址:https://www.oceanbase.com/ OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库,始创于2010年。是全球唯一在 TPC-C 和 TPC-H 测试上都刷新了世界纪录的国产原生分布式数据库。 2010年,创始人阳振坤加入阿里巴巴&…

华为云云耀云服务器L实例评测|华为云云耀云服务器L实例CentOS的存储和备份策略

1 华为云云耀云服务器L实例介绍 华为云云耀云服务器L实例是华为云计算服务中的一种虚拟云服务器,它提供了强大的计算资源,可以在云端运行各种应用程序和服务。 华为云服务器提供了多种实例类型,包括通用型、计算优化型、内存优化型等&#…

数据中心不能“偏科”,AIGC时代算力、存力需协调发展

黄金比例是数学上一种堪称“完美”的比例关系,最早由欧几里得在《几何原本》中进行了系统论述。之后,黄金比例的理念被广泛应用到数学、物理、建筑、农业等多个领域,代表着最合理、最协调的一种情况或者状态。 在数据中心领域,相…

模板的注意事项

目录 swap函数&#xff1a; 模板不支持分离编译 声明和定义分离的好处 swap函数&#xff1a; #include<iostream> using namespace std; template <class T> void swap(T&left, T&right) {T temp right;right left;left temp; } int main() {int a …

Vue比较两个数字大小

实现一个比较两个数字大小的页面&#xff0c;练习Vue实例的创建、数据绑定和事件监听方法&#xff1b; <div id"aa"> <ul> <li> <span>第一个数&#xff1a;</span><input v-model.number"first"/> </li> <…

详解Java执行groovy脚本的两种方式

详解Java执行groovy脚本的两种方式 文章目录 详解Java执行groovy脚本的两种方式介绍记录Java执行groovy脚本的两种invokeFunction:invokeMethod:以下为案例&#xff1a;引入依赖定义脚本内容并执行运行结果&#xff1a;例如把脚本内容定义为这样&#xff1a;执行结果就是这样了…

微盟十年:踩准节奏,持续增长

今年以来&#xff0c;中国SaaS行业经历了资本由炽热到寒冬&#xff0c;行业融资笔数和金额均呈现断崖式下跌&#xff0c;截至7月共发生投融资50笔&#xff0c;与去年相比直接腰斩&#xff1b;投融资金额43.52亿元&#xff0c;与2021年同期的258.2亿元、2022年同期的142.37亿元形…

适合在家做的副业 整理5个,有电脑就行

今天&#xff0c;我们不说别的&#xff0c;整理5个适合个人在家单干的副业。需要电脑&#xff0c;如果你没电脑就不用看了&#xff0c;最后两个&#xff0c;我们也在做&#xff0c;你可以看到最后了解。这些副业&#xff0c;大家多去实践操作&#xff0c;前期&#xff0c;每月三…

单层和多层中的应力和分层控制

引言 类金刚石碳(DLC)膜具有诸如高硬度和低摩擦系数的优异特性&#xff0c;并且在切削工具、金属模具和机器部件中具有应用。不幸的是&#xff0c;它们通常表现出低粘合强度由于高的内部压缩应力&#xff0c;导致从衬底上剥离。英思特已经尝试了各种方法来降低内应力&#xff…

OJ练习第181题——寻找两个正序数组的中位数

寻找两个正序数组的中位数 力扣链接&#xff1a;4. 寻找两个正序数组的中位数 题目描述 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 示例…

V4L2 Camera 开发

一、什么是V4L2 vl42是video for Linux 2的缩写&#xff0c;是一套Linux内核视频设备的驱动框架&#xff0c;该驱动框架为应用层提供一套统一的操作接口(一系列的ioctl) 假如要进行视频数据采集&#xff0c;大体的步骤如图左侧所示&#xff1a; 打开设备文件/dev/videoX&…

从零学算法(LCR 178)

教学过程中&#xff0c;教练示范一次&#xff0c;学员跟做三次。该过程被混乱剪辑后&#xff0c;记录于数组 actions&#xff0c;其中 actions[i] 表示做出该动作的人员编号。请返回教练的编号。 示例 1&#xff1a; 输入&#xff1a;actions [5, 7, 5, 5] 输出&#xff1a;7 …