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

JavaSE_2.1——数组之Arrays工具类

Java提供了一个专门用于操作数组的工具类,即Arrays类,位于Java. util包下【需要导入】。该类提供了一系列方法来操作数组,例如排序、赋值、比较、填充数组 等,用户直接调用这些方法即可【例如:Arrays.sort(数组名)】,这样就降低了开发难度。

Arrays工具类如下表所示:

方法返回类型说明
`equals(array1,array2)`boolean比较两个数组是否相等
sort ( array )void对数组array的元素进行排序【默认升序】
toString( array )String将一个数组转换成字符串输出
fill (array,value)void把数组 array 的所有元素都赋值为 value
fill(arr,start,end,val)void将指定的值分配给指定数组的指定范围的每个元素
copyOf(array,length)与array数据类型一致

把array数组赋值成一个长度为length的新数组

binarySearch(array,val)int使用二分查找的方法检索元素值在数组array中的下标
compare(array1,array2)int按照字典顺序比较数组,前面的数组大,返回大于 0 的值,后面的数组大,返回小于 0 的值.
copyOfRange(arr,start,end)与array数据类型一致将指定数组的指定范围赋值到新数组中
mismatch(array1,array2)int查找并返回两个数组之间第一个不匹配的索引,如果未找到不匹配的,则返回 -1.
mismatch(array1,start1,end1,array2,start2,end2)int查找并返回指定范围内两个数组之间第一个不匹配的索引,如果未找到不匹配的则返回 -1
deepEquals(arr1,arr2)boolean如果两个指定数组,彼此深度相等,则返回 true

测试

1. equals()方法

// equals()方法:比较两个数组是否相等int[] arr1 = {1,2,3,4,5};int[] arr2 = {1,2,3,4,5};boolean is = Arrays.equals(arr1, arr2);System.out.println(is); // true// 这里要注意了://== 比较的是内存地址是否相等,在栈里面比较//equals 比较的是真实值,在堆里面比较System.out.println(arr1 == arr2);   // false

 2. sort()方法以及toString()方法:

// sort()方法:对数组中的元素进行排序int[] arr = {12,45,67,11,2,34};Arrays.sort(arr);System.out.println(Arrays.toString(arr));   //[2, 11, 12, 34, 45, 67]

3.fill()方法:

//fill()方法:填充数组中的每一个元素为同一个值int[] arr = new int[6];Arrays.fill(arr,2);System.out.println(Arrays.toString(arr));   // [2, 2, 2, 2, 2, 2]

4.copyOf()方法:

// copyOf()方法:将一个数组赋值到一个长度为length的新数组中int[] arr = {1,2,4,6,8,0};int[] newArr = Arrays.copyOf(arr, 7);System.out.println(Arrays.toString(newArr));    //[1, 2, 4, 6, 8, 0, 0]

5. binarySearch()方法:

前提是要先对输在进行排序

// binarySearch()方法:利用二分查找,检索数组中的某个元素的下标int[] arr = {1,2,5,7,9,9,43};int target = 2;    // 目标值int i = Arrays.binarySearch(arr, target);System.out.println(i);

6.compare() 方法:

// compare() 方法:比较两个数组的大小,前面的大,返回大于0的值,后面的大,返回小于0的值int[] arr = {1,2,5,7,9,9,43};int[] arr2 = {1,2,5,7,9,43};int i = Arrays.compare(arr,arr2);System.out.println(i);      // -1:表示后面的大

7.copyOfRange()方法:

// copyOfRange()方法:将指定数组的指定范围复制到新数组中int[] arr = {1,2,5,7,9,9,43};int[] newArr = Arrays.copyOfRange(arr, 2, 5);System.out.println(Arrays.toString(newArr));    // [5, 7, 9]

8.System.arraycopy()方法:

        /*System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)src: 源数组,被复制的数组srcPos: 源数组的起始位置,从这一位开始复制dest: 目标数组destPos: 目标数组的位置length: 复制多少元素, 不能比 src.length 大从 src 数组的 srcPos 位置开始复制 length 个元素到 dest 数组的 destPos*/int[] src = new int[]{1, 2, 3, 4, 5, 6};int[] dest = new int[5];System.arraycopy(src, 3, dest, 2, 3);System.out.println(Arrays.toString(dest));

9. mismatch()方法:

        int[] arr = {1, 2, 3, 4};int[] arr1 = {1, 2, 3, 5};int i = Arrays.mismatch(arr, arr1);System.out.println(i);      // 3

相关文章:

JavaSE_2.1——数组之Arrays工具类

Java提供了一个专门用于操作数组的工具类,即Arrays类,位于Java. util包下【需要导入】。该类提供了一系列方法来操作数组,例如排序、赋值、比较、填充数组 等,用户直接调用这些方法即可【例如:Arrays.sort(数组名)】&a…...

yolov5、YOLOv7、YOLOv8改进:注意力机制CA

目录 1.背景介绍 论文题目:《Coordinate Attention for Efficient Mobile NetWork Design》论文地址: https://arxiv.org/pdf/2103.02907.pdf 2.原理介绍 3.YOLOv5改进: 3.1common中加入下面代码 3.2在yolo.py中注册 3.3添加配置文件 …...

​LeetCode解法汇总617. 合并二叉树

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给你两棵二…...

记vite打包vue项目内存溢出问题解决

出现问题 FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory解决方法一: 1.根据网上的资料是通过全局下载npm包increase-memory-limit: npm install -g increase-memory-limit2.在项目目录执…...

【SCI征稿】2区SCI,大数据与遥感技术、图像处理技术、物联网(IoT)技术、传感器网络的结合研究

期刊简介: 【出版社】Elsevier 【影响因子】IF(2022):3.0-4.0 【期刊分区】JCR2区,中科院4区 【检索情况】SCIE 在检,正刊 【参考周期】期刊部系统内提交,预计3个月左右录用,走…...

java_基础语法及用法

文章目录 一、java基础1.1 JAVAEE的13个规范 二、java基础语法2.1 final2.2 static2.3 异常 三、java基础用法3.1 时间格式化3.2 java计时 一、java基础 1.1 JAVAEE的13个规范 JAVA EE的十三种规范 二、java基础语法 2.1 final 1.被final修饰的类不可以被继承 2.被final修…...

C# WPF 开源主题 HandyControl 的使用(一)

HandyControl是一套WPF控件库,它几乎重写了所有原生样式,同时包含80余款自定义控件(正逐步增加),下面我们开始使用。 1、准备 1.1 创建项目 C# WPF应用(.NET Framework)创建项目 1.2 添加包 1.3 在App.xaml中引用…...

探索ES高可用:滴滴自研跨数据中心复制技术详解

Elasticsearch 是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎,其每个字段均可被索引,且能够横向扩展至数以百计的服务器存储以及处理TB级的数据,其可以在极短的时间内存储、搜索和分析大量的数据。 滴滴ES发展至今&#xf…...

指针---进阶篇(二)

指针---进阶篇(二) 前言一、函数指针1.抛砖引玉2.如何判断函数指针?(方法总结) 二、函数指针数组1.什么是函数指针数组?2.讲解函数指针数组3.模拟计算器:讲解函数指针数组 三、指向函数指针数组…...

Python实现SSA智能麻雀搜索算法优化循环神经网络分类模型(LSTM分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出&a…...

【go语言基础】结构体struct

主要是敲代码,敲的过程中会慢慢体会。 1.概念 结构体是用户定义的类型,表示若干字段的集合,目的是将数据整合在一起。 简单的说,类似Java中的实体类。存储某个实体属性的集合。 2.结构体声明 注意:结构体名字&…...

显卡服务器适用于哪些场景

显卡(GPU)服务器,简单来说,GPU服务器是基于GPU的应用于视频编解码、深度学习、科学计算等多种场景的快速、 稳定、弹性的计算服务。那么壹基比小鑫告诉你显卡服务器主要的用途有哪一些。 一、运行手机模拟器 显卡服务器可支持…...

MySQL DML 数据操作

文章目录 1.插入记录INSERTREPLACE 2.删除记录3.修改记录4.备份还原数据参考文献 1.插入记录 INSERT 使用 INSERT INTO 语句可以向数据表中插入数据。INSET INTO 有三种形式。 INSET INTO tablename SELECT...INSET INTO tablename SET column1value1,column2value2...INSET…...

服务端与网络相关知识

1. http/https 协议 1.0 协议缺陷: ⽆法复⽤链接,完成即断开,重新慢启动和 TCP 3 次握⼿head of line blocking : 线头阻塞,导致请求之间互相影响 1.1 改进: ⻓连接(默认 keep-alive ),复⽤host 字段指定对应的虚拟站点新增功…...

一分钟上手Vue VueI18n Internationalization(i18n)多国语言系统开发、国际化、中英文语言切换!

这里以Vue2为例子 第一步:安装vue-i18n npm install vue-i18n8.26.5 第二步:在src下创建js文件夹,继续创建language文件夹 在language文件夹里面创建zh.js、en.js、index.js这仨文件 这仨文件代码分别如下: zh.js export de…...

stm32 cubemx can通讯(1)回环模式

文章目录 前言一、cubemx配置二、代码1.过滤器的配置(后续会介绍)2.main.c3.主循环 总结 前言 介绍使用stm32cubemx来配置can,本节讲解一个简答,不需要stm32的can和外部连接,直接可以用于验证的回环模式。 所谓回环模…...

Python基础小项目

今天给大家写一期特别基础的Python小项目,欢迎大家支持,并给出自己的完善修改 (因为我写的都是很基础的,运行速率不是很好的 目录 1. 地铁票价题目程序源码运行截图 2. 购物车题目程序源码运行截图 3. 名片管理器题目程序源码运行…...

Python Opencv实践 - 在图像上绘制图形

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料:https://blog.csdn.ne…...

管理者应该编码,但不是在工作时

管理者应该编码吗?这个问题似乎没有一个明确的答案。这场辩论有支持者也有反对者,每一方都有自己的论点。我最近在工作中编写了一个副业项目,这让我重新评估了我在这个问题上的立场。经历了这些之后,我可以说,我的立场已经从管理…...

深度学习常用的python库学习笔记

文章目录 数据分析四剑客Numpyndarray数组和标量之间的运算基本的索引和切片数学和统计方法线性代数 PandasMatplotlibPIL 数据分析四剑客 Numpy Numpy中文网 ndarray 数组和标量之间的运算 基本的索引和切片 数学和统计方法 线性代数 Pandas Pandas中文网 Matplotlib Mat…...

bitcoin-arbitrage自动化交易实战:TraderBot和TraderBotSim详解

bitcoin-arbitrage自动化交易实战:TraderBot和TraderBotSim详解 【免费下载链接】bitcoin-arbitrage Bitcoin arbitrage - opportunity detector 项目地址: https://gitcode.com/gh_mirrors/bi/bitcoin-arbitrage 在加密货币交易领域,利用不同交易…...

Wan2.2-I2V-A14B镜像免配置方案:单卡24G显存+120GB内存开箱即用部署指南

Wan2.2-I2V-A14B镜像免配置方案:单卡24G显存120GB内存开箱即用部署指南 1. 镜像概述与核心优势 Wan2.2-I2V-A14B是一款专为文生视频任务优化的私有部署镜像,针对RTX 4090D 24GB显存显卡进行了深度优化。这个镜像最大的特点就是"开箱即用"——…...

ComfyUI ControlNet Aux预处理器:三步轻松搞定AI图像精准控制 [特殊字符]

ComfyUI ControlNet Aux预处理器:三步轻松搞定AI图像精准控制 🎨 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI生成的图…...

深入解析CoT蒸馏与GRPO:如何高效训练具备推理能力的小模型

1. 从零理解CoT蒸馏:让大模型的"思考能力"装进小模型 第一次听说CoT蒸馏这个概念时,我正被一个实际问题困扰:客户需要在智能音箱上部署数学解题功能,但GPT-4的API调用成本高得吓人。当时尝试直接用7B小模型微调&#xf…...

基于AI+场景的数据安全管理平台建设方案:AI技术发展趋势与数据安全结合、AI+场景数据安全管理平台、AI+场景应用实践

该方案以AI技术为核心驱动力,围绕数据资产发现、事件分析、风险评估、策略处置等关键环节,构建了动态、智能的数据安全管理平台。通过自然语言处理、机器学习、深度学习、集成学习等技术,有效提升了敏感数据识别、异常行为检测、风险评估的准…...

如何用ViGEmBus在Windows上实现专业级游戏控制:3个简单步骤解锁无限可能

如何用ViGEmBus在Windows上实现专业级游戏控制:3个简单步骤解锁无限可能 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想要在Windows系统上获得…...

YOLOv12官版镜像5分钟快速部署:零基础小白也能轻松上手

YOLOv12官版镜像5分钟快速部署:零基础小白也能轻松上手 1. 为什么选择YOLOv12官版镜像? YOLOv12作为目标检测领域的最新突破,首次将注意力机制作为核心架构,彻底改变了传统YOLO系列依赖CNN的设计思路。这个官版镜像相比Ultralyt…...

玛伐凯泰治疗梗阻性肥厚型心肌病,36周pVO₂提高1.7mL/kg/min

梗阻性肥厚型心肌病(HCM)作为一种以心肌肥厚为特征的遗传性心脏病,严重影响患者的生活质量与生存率。传统治疗手段虽能在一定程度上缓解症状,但无法从根本上解决心肌过度收缩的核心病理生理机制,患者病情仍可能持续进展…...

Nintendo Switch游戏文件管理终极指南:告别繁琐操作,NSC_BUILDER让一切变得简单

Nintendo Switch游戏文件管理终极指南:告别繁琐操作,NSC_BUILDER让一切变得简单 【免费下载链接】NSC_BUILDER Nintendo Switch Cleaner and Builder. A batchfile, python and html script based in hacbuild and Nuts python libraries. Designed init…...

VBA-JSON终极指南:在Excel中轻松处理JSON数据的完整教程

VBA-JSON终极指南:在Excel中轻松处理JSON数据的完整教程 【免费下载链接】VBA-JSON JSON conversion and parsing for VBA 项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON 你是否经常需要在Excel中处理来自API的JSON数据?或者需要将Excel…...