Java—Arrays api

server/2025/1/16 2:03:38/
java">public static String toString(数组)                         //把数组拼接成一个字符串
public static int binarySearch(数组,查找的元素)            //二分查找法查找元素
public static int[] copyOf(原数组,新数组长度)               //拷贝数组
public static int[] copyOfRange(原数组,起始索引,结束索引)   //拷贝数组(指定范围)
public static void fill(数组,需要填充的元素)                //填充数组
public static void sort(数组)                               //按照默认方式进行数组排序
public static void sort(数组,排序规则)                     //按照指定的规则排序

目录

binarySearch

copyOf

copyOfRange

sort


binarySearch

1. 二分查找的前提:数组中的元素必须是升序的;
2. 如果要查找的元素存在,则返回查找到的元素的索引;如果要查找的元素不存在,则返回 (-插入点)-1。

代码示例

java">int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
System.out.println(Arrays.binarySearch(arr, 6)); //5
System.out.println(Arrays.binarySearch(arr, 10));//9
System.out.println(Arrays.binarySearch(arr, 20));//-11

copyOf

参数一:旧数组
参数二:新数组的长度
方法的底层会根据第二个参数来创建新的数组,
如果新数组的长度 < 旧数组的长度,会部分拷贝;
如果新数组的长度 = 旧数组的长度,会完全拷贝;
如果新数组的长度 > 旧数组的长度,会补上默认初始值。

代码示例

java">public static void main(String[] args) throws ParseException {int[] arr = {1, 2, 3, 4, 5};int[] newArr1 = Arrays.copyOf(arr, 3);System.out.println(Arrays.toString(newArr1));// [1, 2, 3]int[] newArr2 = Arrays.copyOf(arr, 5);System.out.println(Arrays.toString(newArr2));// [1, 2, 3, 4, 5]int[] newArr3 = Arrays.copyOf(arr, 8);System.out.println(Arrays.toString(newArr3));// [1, 2, 3, 4, 5, 0, 0, 0]}

copyOfRange

注意:对于数据拷贝的范围包头不包围,包左不包右

代码示例

java">public static void main(String[] args) throws ParseException {int[] arr = {1, 2, 3, 4, 5};int[] newArr1 = Arrays.copyOfRange(arr, 0, 4);System.out.println(Arrays.toString(newArr1));// [1, 2, 3, 4]}

sort

java">public static void main(String[] args) throws ParseException {Integer[] arr = {5, 3, 4, 2, 1};Arrays.sort(arr);System.out.println(Arrays.toString(arr));// [1, 2, 3, 4, 5]Arrays.sort(arr,new Comparator<Integer>(){@Overridepublic int compare(Integer o1, Integer o2) {return o2-o1; //倒序排序//return o1-o2 正序排序(默认)}});System.out.println(Arrays.toString(arr));// [5, 4, 3, 2, 1]}


http://www.ppmy.cn/server/105792.html

相关文章

《黑神话.悟空》:一场跨越神话与现实的深度探索

"近期我偶然邂逅了一个极为出色的人工智能学习平台&#xff0c;它不仅内容深入浅出&#xff0c;讲解方式还风趣幽默&#xff0c;让人学习起来既轻松又高效。如此宝藏资源&#xff0c;我迫不及待想要与各位共享。即刻点击让我们一起进入这个精彩纷呈的学习网站吧&#xff0…

USB3.0硬件简单概述

关于USB2.0&#xff0c;小白在之前的文章简单的描述过。关于USB3.0&#xff0c;今天小白也简单的介绍下。 相比较于USB2.0&#xff0c;USB3.0有了很大的变化。信号端USB3.0除了包含USB2.0的四根信号&#xff0c;还新增了2对差分信号SSRXN SSRXP SSTXN SSTXP以及GND_DRAIN(信号…

Mysql基础操作-常见SQL语句

背景知识 SQL语句分类 数据定义语言 (Data Definition Language, DDL) 这类语句用于定义数据库结构&#xff0c;包括创建、修改和删除数据库对象如表、索引、视图等。 数据操纵语言 (Data Manipulation Language, DML) 这类语句用于添加、读取、更新和删除数据。 数据查询语言…

vue3+ts+Go使用百度地图路书实现历史轨迹回放、轨迹回放进度、聚合点、自定义弹框和实时监控视频、多路视频轮巡播放

前言 分享一个刚做完项目集成技术&#xff0c;一个车辆行驶轨迹监控、行车视频监控、对特种车辆安全监管平台&#xff0c;今年政府单位有很多监管平台项目&#xff0c;例如&#xff1a;渣土车监控、租出车监管、危害气体运输车监管等平台&#xff0c;这些平台都有车辆行驶轨迹…

python小游戏——躲避球(可当课设)

游戏简介&#xff1a; 没有美术&#xff0c;画面简洁&#xff08;懒得做&#xff09;。玩家控制小球躲避敌人&#xff08;上下左右&#xff0c;闪避&#xff09;&#xff0c;敌人体积越大速度越慢&#xff0c;随机生成道具球&#xff08;目前只有生命球&#xff09;&#xff0…

【单片机】LCD1602和OLED里,如何实现滚动显示特效?

如何在OLED显示16个字符的同时实现滚动特效 1. 基本思路 滚动特效的核心思路是在一个固定长度的显示区域内,通过不断改变显示内容的起始位置,模拟出内容在屏幕上滚动的效果。我们可以使用一个定时器来周期性地更新显示内容,从而实现动态滚动。 2. 代码分析 以下是实现滚…

GRL CVPR2023图像修复 使用笔记

目录 github地址&#xff1a; 训练自己的数据教程&#xff1a; 网络学习&#xff1a; 损失函数&#xff1a; github地址&#xff1a; GitHub - ofsoundof/GRL-Image-Restoration 预训练模型&#xff0c;在release里面 如何使用代码&#xff1a; conda create -n Lightn…

前端宝典十:webpack性能优化最佳实践

Webpack 内置了很多功能。 通常你可用如下经验去判断如何配置 Webpack&#xff1a; 想让源文件加入到构建流程中去被 Webpack 控制&#xff0c;配置 entry&#xff1b;想自定义输出文件的位置和名称&#xff0c;配置 output&#xff1b;想自定义寻找依赖模块时的策略&#xff…