首页 > 其他分享 >Arrays常用方法

Arrays常用方法

时间:2023-10-02 22:36:26浏览次数:52  
标签:sort 常用 Arrays binarySearch int 数组 方法

1.Arrays.toString()方法
方法作用:快速输出数组内容

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

2.Arrays.sort()方法
方法作用:给数组排序,默认升序

int[] a = new int[5]{5,4,3,2,1};
Arrays.sort(a); // 1 2 3 4 5
System.out.println(Arrays.toString(a));
// [1,2,3,4,5]

有两个重载方式:

①.Arrays.sort(数组名)

   如上

②.Arrays.sort(数组名,起始下标,排序个数)

Scanner s = Scanner(System.in);
int n = s.nextInt();
int[] a = new int[n]
for(int i = 0; i < n; i++)
a[i] = s.nextInt();
Arrays.sort(a,0,n - 1);
//输入n个数,按照升序排列

对字符串进行排序时,是对每一个字符比较,而不是简单的比较长度

// str1 = abd
// str2 = abcdef
// 因为d > c,所以 str1 > str2

3.Arrays.equals()方法
方法作用:比较两个数组内容是否相等

int[] a = {1,2,3};
int[] b = {1,2,3};
boolean isSame = Arrays.equals(a,b);
//true

注意:Arrays.equals()是比较数组内容,而a.equals(b) 这样的方法是比较地址值

4.Arrays.binarySearch()
方法作用:在数组中查找元素

int Arrays.binarySearch( Datatype[], Datatype key)
再数组中查找指定值,若找到,则返回此值的下标,

若没找到,返回 -插入点-1;

如:

int[] a = {1,5,6,7};
Arrays.binarySearch(a,2) //没找到,插入点为1,则返回 -2
Arrays.binarySearch(a,4) //没找到,插入点为1,则返回 -2
Arrays,binarySearch(a,8) //没找到,插入点为4,则返回 -5
Arrays.binarySearch(a,5) //找到了!返回下标 1

只要返回值 ≥ 0 ,就代表找到了。
5.Arrays.copyOf()
方法作用:拷贝数组

源码如下:第一个参数是原数组,第二个参数是拷贝长度,返回值是将原数组拷贝一份返回

(它的底层其实是调用了System.arrayCopy()方法)

public static <T> T[] copyOf(T[] original, int newLength) {
return (T[]) copyOf(original, newLength, original.getClass());
}

需要注意的是返回值是一个新数组,会改变接收这个新数组的引用的一些属性

public static void main(String[] args) {
int[] arr1 = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] arr2 = new int[5];
arr2 = Arrays.copyOf(arr1, 10);
}

 

标签:sort,常用,Arrays,binarySearch,int,数组,方法
From: https://www.cnblogs.com/ywzh/p/17740528.html

相关文章

  • 安卓手机关闭5G方法
    关闭5G网络方法:【方法①】您可以进入设置--双卡和移动网络/移动网络--关闭“启用5G”开关即可。【方法②】打开手机拨号盘,输入*#*#2288#*#*,将“网络模式”设置为:4G(优先)/3G/2G,即可关闭。☞如果页面没有“启用5G”开关”开关,可以将“网络模式”设置为:4G(优先)/3G/2G,此后手机将不会......
  • 小程序 | 微信小程序使用空格占位符无效解决方法 | 前端
    小程序|微信小程序使用空格占位符无效解决方法|前端问题描述最近在写微信小程序时,想给文本添加空格,尝试使用键盘空格、标签加空格、HTML的&nbsp;等等都没有效果,最后在微信小程序官方文档中找到了解决办法解决方法查阅官方相关文档介绍微信小程序官方文档uniapp官方......
  • 【研究生学习】深度学习中几种常用的卷积形式的原理以及其Pytorch调用
    本篇博客主要记录一下在深度学习中几种常用的卷积形式的基本原理、输入输出维度,以及如何在Pytorch中调用这些卷积形式卷积卷积实际上是对图像的不同区域进行特征提取,一般认为输入图像的维度为H×W×C,如下图所示:图像具有颜色通道,一般是RGB,需要理解的是不同通道数的图像和不同的......
  • 选择排序算法:简单但有效的排序方法
    在计算机科学中,排序算法是基础且重要的主题之一。选择排序(SelectionSort)是其中一个简单但非常有用的排序算法。本文将详细介绍选择排序的原理和步骤,并提供Java语言的实现示例。选择排序的原理选择排序的核心思想是不断地从待排序的元素中选择最小的元素,然后将其放置在已排序部分的......
  • destoon短信接口修改方法
    destoon是很优秀的B2B行业站程序。程序模块化开发契合度很高,二次开发起来也很顺畅。数据缓存,权限分配,SEO功能方面都不错。但是在使用这套程序的时候,常常要用到发送短信的功能,而destoon本身只接入了自己的短信接口。一些初接触destoon的开发者不知道如何修改。所以铁牛特此写个文......
  • div 让a内容居中方法
    <div>标签是HTML中的一个重要标签,它代表了一个文档中的一个分割区块或一个部分。在<div>标签中,我们可以放置各种内容,包括文本、图像、链接等等。有时候,我们需要将其中的链接<a>标签的内容水平居中显示,这就需要使用CSS设置div内部链接的居中显示。本文将详细讲解如何使用CSS使得<di......
  • 网站程序中手机号码判断方法
     需求:输入错误的手机号,会有提示语,正确的手机号码会有正确的图标  效果:  思路:  (1)排版(不细讲),使用input、button、span等标签,排版里面一个主要的小点是,需要写出两个span,通过v-show先进行隐藏,等后面判断手机号码的正确错误再进行显示与隐藏    (2)接着,就需要在input......
  • 3d:平滑常用:nurms细分 网格平滑 涡轮平滑
    1.可编辑多边形——细分曲面——使用nurms细分迭代次数3,按【7】打开页数统计,右键独立当前图形,查看:面少,节省内存2.下拉编辑——网格平滑迭代次数3,按【7】打开页数统计,右键独立当前图形,查看:面次少3.下拉编辑——涡轮平滑迭代次数3,按【7】打开页数统计,右键独立当前图形,查看:面最......
  • linux中hive常用命令
     kill-929676杀死进程ps-ef|grep23697查看进程tail-flogs/hiveserver2.log查看2信息nohupbin/hive--servicehiveserver2>>logs/hiveserver2.log2>&1&后台加载报错和运行信息到2start-all.sh启动所有服务 ......
  • [SpringBoot 1] 自动装配和Run方法
    SpringBoot1阶段:1SpringBoot自动装配build.gradle中放依赖核心依赖,有很多启动器(spring-boot-start-xxx)@SpringBootApplication@SpringBootConfiguration@Configuration@Component@EnableAutoConfiguration@AutoConfiguration......