java - 数组工具类Arrays

news/2024/10/23 5:31:25/

目录

前言

一、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.ppmy.cn/news/1126706.html

相关文章

串口电平信号分析--一下看懂不同的串口通信信号

串口电平信号分析–一下看懂不同的串口通信信号

【编译和链接——详解】

1. 翻译环境和运行环境💻 在ANSI C的任何⼀种实现中,存在两个不同的环境。 第1种是翻译环境,在这个环境中源代码被转换为可执⾏的机器指令。 第2种是执⾏环境,它⽤于实际执⾏代码。 2. 翻译环境💻 那翻译环境是怎么将…

应用在手机触摸屏中的电容式触摸芯片

触控屏(Touch panel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板&…

Redis 线程模式

Redis 是单线程吗? Redis 单线程指的是 [接收客户端请求 -> 解析请求 -> 进行数据读写操作 -> 发送数据给客户端] 这个过程是由一个线程 (主线程) 来完成的,这也是常说的 Redis 是单线程的原因。 但是 ,Redis 程序不是单线程的&am…

初级软件测试入门教程

一、软件测试的基本概念 1、软件测试的定义 就是以发现错误为目的而运行程序的过程。 软件测试员的目标是找到软件缺陷,尽可能早一些,并确保其得以修复。 2、软件测试方法总体分类 试图验证软件是“工作的”(所谓“工作的”就是指软件的…

深度学习-学习率调度,正则化,dropout

正如前面我所说的,各种优化函数也依赖于学习率,保持学习率恒定总是有所限制,在执行梯度下降过程中,我们可以使用各种方法来调节训练过程的学习率,这里只是稍微介绍一下,不会写代码实现的。同时,…

pip install open-interpreter报错,无法安装

标题pip install open-interpreter报错,无法安装 ERROR: Could not find a version that satisfies the requirement open-interpreter (from versions: none) ERROR: No matching distribution found for open-interpreter 另外发现自己换了很多国内镜像源&#x…

C++ Primer----1.5类简介 章节练习

头文件 Sales_item.h #ifndef SALESITEM_H #define SALESITEM_H #include <iostream> #include <string>class Sales_item{ public:Sales_item(const std::string &book):isbn(book),units_sold(0),revenue(0.0){}Sales_item(std::istream &is){ is >&…