java - 数组工具类Arrays

这篇具有很好参考价值的文章主要介绍了java - 数组工具类Arrays。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言

一、Arrays是什么?

二、常用方法

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

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

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

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

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

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


前言

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言


一、Arrays是什么?

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

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

二、常用方法

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

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

 底层按照StringBuilder拼接

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

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

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

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

 底层通过System类中的arraycopy实现java - 数组工具类Arrays,java从入门到起飞,java,开发语言

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

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

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

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

定义Student类 String name; int age; 

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言

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

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

java - 数组工具类Arrays,java从入门到起飞,java,开发语言文章来源地址https://www.toymoban.com/news/detail-731010.html

到了这里,关于java - 数组工具类Arrays的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java中List,Set,数组Arrays相互转化

    很多场合需要进行转换( 例如力扣中 ) 数组转换其他时比较容易,反过来就需要操作一番 以下转换的方法并不唯一,但确保简洁易懂 常规的方法:从数组中拿出元素放进list 用工具类或者库函数: 这个比较容易,从数组中拿出元素放进set(同时会自动去重) 这个需要操作

    2024年02月11日
    浏览(44)
  • Java创建一个长度为10的数组,利用Arrays.sort(), 为数组元素排序

    程序要求:1)创建一个整型数组,数组的长度为10.                     2)给数组元素赋值,要求乱序。                   3)利用fori循环将数组元素依次输出。                      4)利用Arrays.sort(), 为数组元素排序                   5)采用增加for循环将

    2024年02月08日
    浏览(52)
  • Java 浅谈数组(Array)和列表(ArrayList)的区别 介绍Arrays常用方法

    目录 一.数组和列表的区别 1.数组(Array) (1)数组(Array) (2)数组的声明与创建 (3)多维数组 (4)数组的优缺点 2.列表(ArrayList) (1)列表(ArrayList) (2)列表的声明与创建 (3)列表的优缺点 3.数组(Array)与列表(ArrayList)的区别 (1)空间大小 (2)存储内容

    2023年04月09日
    浏览(53)
  • 【Java基础教程】(三十八)常用类库篇 · 第八讲:数组操作类——解析Arrays类中的全部操作方法,解锁Java数组操作技巧~

    前言:在学习本文之前,应该先学习并清楚了解Java基础部分的数组相关的概念和知识。 若还不具备学习条件,请先前往学习数组部分的基础知识: 《【Java基础教程】(八)面向对象篇 · 第二讲:Java 数组全面解析——动态与静态初始化、二维数组、方法参数传递、排序与转

    2024年02月15日
    浏览(62)
  • Java中合并两个数组的4种方法(How to Merge Two Arrays in Java)

    int[] arr1={1, 2, 3, 4, 5, 6}; //first array int[] arr2={7, 8, 9, 0}; //second array int[] arr3={1, 2, 3, 4, 5, 6, 7, 8, 9, 0} //resultant array There are following ways to merge two arrays: 1.Java arraycopy() method 2.Without using arraycopy() method 3.Java Collections 4.Java Stream API Java arraycopy() is the method of System class which belongs to java.la

    2024年02月11日
    浏览(42)
  • java从入门到起飞(八)——循环和递归

    循环是一种重复执行特定代码块的结构。在编程中,我们经常需要重复执行某些任务,这时循环就派上了用场。 1.1 为什么需要循环? 循环使得程序可以自动化地执行重复的任务,而不需要手动重复编写相同的代码。它能够提高代码的可读性、简化程序的逻辑,并且方便对大

    2024年02月09日
    浏览(43)
  • 开发语言工具编程系统化教程入门和初级专辑课程上线

    开发语言工具编程系统化教程入门和初级专辑课程上线 学习编程捷径:(不论是正在学习编程的大学生,还是IT人士或者是编程爱好者,在学习编程的过程中用正确的学习方法 可以达到事半功倍的效果。对于初学者,可以通过下面的方法学习编程,通过对成百上千个实例练习

    2024年02月08日
    浏览(57)
  • Java开发小白入门前的工具安装

    学习过程是痛苦的, 我们要学会苦中作乐! 关于java语言的基本介绍百度上都有,拉出来的都很详细,不做过多的介绍,我想写的主要是以干活为主,大家一起学习java 的知识。 编程的学习主要还是要靠自己勤劳的双手------敲代码,一遍又一遍的把代码敲出来,直到它成为你

    2024年04月16日
    浏览(54)
  • 无涯教程-Lua - Arrays(数组)

    数组是对象的有序排列,可以是包含行集合的一维数组,也可以是包含多行和多列的多维数组。 在Lua中,数组是使用带有整数的索引表实现的。数组的大小不是固定的,并且可以根据无涯教程的要求(取决于内存限制)来增长。 一维数组可以使用简单的表结构表示,并且可以使

    2024年02月14日
    浏览(37)
  • 热门Java开发工具IDEA入门指南——插件安装方式

    IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能是非常强大的。 本文给大家讲解在使用IntelliJ I

    2024年02月09日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包