Java——Arrays类操作数组的工具类

  JDK中提供了一个专门用于操作数组的工具类,即 Arrays 类,位于 Java。util 包中。该类提供了一系列方法来操作数组,如排序、复制、比较、填充等,用户直接调用这些方法即可,不需要自己编码实现,降低了开发难度。

                        Arrays 类常用方法

 

public static void main(String[] args) {//equals()方法用于比较两个数组是否相等。只有当两个数组长度相等,且对应位置的元素也一一相等时,该方法返回 true;否则返回false。//sort()方法对数组的元素进行升序排列,即以小到大顺序排列。//toString()方法将数组转换为字符串。//fill()方法替换数组的所有元素为相同的元素。//copyOf()方法将数组复制成一个长度为设定值得新数组。//binarySearch()方法查询数组元素在数组中的下标。int[] arr1= {10,40,30,20,50};int[] arr2= {10,20,30,40,50};//使用 Arrays 类 equals 方法比较arr1和 arr2 的长度即元素是否相等System.out.println("用equals比较后:"+Arrays.equals(arr1, arr2));//替换数组元素     统一替换Arrays.fill(arr1,30);  System.out.println("用fill替换后:"+Arrays.toString(arr1));//复制长度4的数组int[] arr3 = Arrays.copyOf(arr1,3);System.out.println("复制数组后:"+Arrays.toString(arr3));//升序
        Arrays.sort(arr1);//查询某个元素在数组的下标int index = Arrays.binarySearch(arr1, 30);System.out.println("查找元素下标:"+index);}

输出结果:

用equals比较后:false用fill替换后:[30, 30, 30, 30, 30]复制数组后:[30, 30, 30]查找元素下标:2

 


 

 

》使用Arrays 对数组升序排序
public static void main(String[] args) {Scanner input =  new Scanner(System.in);//声明一个成绩数组int[] scores =new int[5];//循环录入学生成绩for (int i = 0; i < scores.length; i++) {System.out.println("输入第"+i+"名学生的成绩:");scores[i]=input.nextInt();}//升序排序前学员成绩循环输出System.out.println("升序排序前:");for (int i = 0; i < scores.length; i++) {System.out.print(scores[i]+"\t");}Arrays.sort(scores);  //对数组进行升序排序        System.out.println("\n升序后:");for (int i = 0; i < scores.length; i++) {System.out.print(scores[i]+"\t");}}

 


 

》通过compareToIgnoreCase 比较两个字符串的大小
public static void main(String[] args) {Scanner input = new Scanner(System.in);String[] musics =new String[5];musics[0]="Island";musics[1]="Ocean";musics[2]="Pretty";musics[3]="Sun";int index=musics.length-1;System.out.print("插入前的数组为:");for (int i = 0; i < musics.length; i++) {if(musics[i]==null)  //为null的时候跳出break;System.out.print(musics[i]+"\t");}System.out.println("\n请输入歌曲名称:");String music =input.next();//查找要插入元素的下标for (int i = 0; i < musics.length; i++) {if(musics[i].compareToIgnoreCase(music)>0){System.out.println(musics[i].compareToIgnoreCase(music));index=i;break;}}//数组元素后移for (int i =musics.length-1 ; i> index; i--) {musics[i] = musics[i-1];}musics[index]=music;System.out.println("插入下标为:"+index);System.out.print("插入后的数组为:");for (int i = 0; i < musics.length; i++) {System.out.print(musics[i]+"\t");}}

 

 

转载于:https://www.cnblogs.com/szj-ang/p/7267753.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PropertiesUtil 获取文件属性值

有时候不要把一些属性值写死在代码中&#xff0c;而是写在配置在文件中&#xff0c;方便更改 PropertiesUtil工具类&#xff1a;读取key-value形式的配置文件&#xff0c;根据key获得value值 1、测试类 public class Test{private static PropertiesUtil propertiesUtil new …

CORS——跨域请求那些事儿

【本期嘉宾介绍】睿得&#xff0c;具有多年研发、运维、安全等IT相关从业经历。目前从事CDN、存储、视频直播点播的技术支持。喜爱钻研&#xff0c;喜爱编码&#xff0c;喜爱分享。 在日常的项目开发时会不可避免的需要进行跨域操作&#xff0c;而在实际进行跨域请求时&#xf…

oracle 数据执行计划,Oracle里常见的执行计划

本文介绍了Oracle数据库里常见的执行计划&#xff0c;使用的Oracle数据库版本为11.2.0.1。1、与表访问相关的执行计划Oracle数据库里与表访问有关的两种方法&#xff1a;全表扫描和ROWID扫描。反映在执行计划上&#xff0c;与全表扫描对应的执行计划中的关键字是“TABLE ACCESS…

.NET MAUI实战 Dispatcher

详细内容这一期分享的内容非常简单&#xff0c;在之前使用过WPF的开发者对MVVM开发模式下ViewModel中后台线程转UI线程并不陌生使用Appplication.Current.Dispatcher。那么在.NET MAUI中也有同样的机制&#xff0c;存在于.NET MAUI Shell对象中。那么什么是Shell&#xff1f;官…

GDB 配置

GDB 配置 使用 GDB 扩展来配置 GDB 事实上我还是觉得原生的 GDB 就挺好&#xff0c;速度快&#xff0c;需要查看什么执行命令就可以。 GDB DashBoard https://github.com/cyrus-and/gdb-dashboard $sudo mkdir -m 777 ~/gdbinit; cd ~/gdbinit $git clone https://github.com/c…

Oracle区分中文和英文,oracle中中英文段落划分实现

oracle中关于中文占用字节数&#xff0c;不同的数据库有不同的情况&#xff0c;有的占用两个字节、有的占用三个字节&#xff0c;现在测试环境的数据库中文占用三个字节&#xff0c;要实现由中英文组成的段落字符串&#xff0c;按照每行占用多少字节重新分段&#xff0c;具体应…

未来哪些行业值得加入?

阅读本文大概需要5分钟。这个问题很多读者都问过&#xff0c;基本上每隔几篇原创就会有人留言问&#xff0c;还有公众号后台和知乎私聊。之前在一次留言中我承诺专门开一篇文章来聊聊这个话题&#xff0c;今天想着要兑现这个诺言了。为啥最近会存在这个问题呢&#xff0c;原因其…

虚拟机网络配置详解(NAT、桥接、Hostonly)

VirtualBox中有四种网络连接方式: NATBridged AdapterInternalHost-only AdapterVMWare中有三种&#xff0c;其实它跟VMWare的网络连接方式都是一样的概念&#xff0c;只是比VMWare多了Internal方式 在介绍四种工作模式之前&#xff0c;先说下虚拟网卡&#xff0c;虚拟机安装好…

Oracle收款核销了怎么撤销,21应收收款-核销取消或核销调整

注&#xff1a;本课程不包含学习下载资料目标人群&#xff1a;1、Oracle ERP/EBS初级顾问和技术顾问&#xff1b; 1、Oracle ERP/EBS用户熟练学习ERP系统的基本设置功能&#xff1b; 2、Oracle ERP/EBS财务初级顾问的学习&#xff1b; 3、其他对Oracle ERP/EBS有兴趣的想转行如…

微软宣布正式开源 Azure IoT Edge 边缘计算服务

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; 微软宣布&#xff0c;去年年底公开预览的 Azure IoT Edge 边缘计算服务已进入官方版&#xff0c;并通过 GitHub 将其开源。Azure IoT Edge 主要将基于云的分析和定制的业务逻辑转移到边缘设备&a…

Windows下安装BeautifulSoup

电脑首先要安装好了python&#xff0c;我安装的是2.7。 下面就是bs4的安装过程了: 1.去官网下载BeautifulSoup4 2017.02.10目前最新版本&#xff1a;Beautiful Soup 4.3.2 2.解压文件 将下载得到的压缩包解压到任意文件夹&#xff0c;路径不含中文 3.打开cmd命令提示符 winr&am…

BZOJ1578: [Usaco2009 Feb]Stock Market 股票市场

S<50只股票D<10天的价格给出&#xff0c;求第一天开始用n<200000元最后能得到的最大钱数&#xff0c;保证答案<500000。 做D次完全背包即可&#xff0c;每次做完把dp数组清空。 1 #include<cstdio>2 #include<cstring>3 #include<algorithm>4 #i…

OC如何跳到系统设置里的各种设置界面

当 iOS系统版本 < iOS7时 , 只能跳转到 系统设置页面 &#xff0c;楼主试了下&#xff0c;非真机是没有任何效果的 当iOS系统版本 < iOS 10.0 时 NSURL *url [NSURL URLWithString:"prefs:rootLOCATION_SERVICES"]; if( [[UIApplication sharedApplication]can…

oracle 注册程序,oracle 静态注册

1. 最近在装ASMDATAGUARD&#xff0c; 在静态注册上面吃了大亏&#xff0c;现总结如下2. 在Asm环境中&#xff0c;listener监听器在grid用户下DGLSN (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST asm)(PORT 1521))))SID_LIST_DGLSN (SID_LIST (SID_DESC (…

Linux下find用法总结

find:实时查找工具&#xff0c;通过遍历指定起始路径下的文件系统层级结构完成文件查找:工作特性:查找速度略慢精确查找实时查找用法:find [option] [查找起始路径][查找条件][处理动作]查找起始路径&#xff1a;指定具体搜索目标起始路径&#xff1b;默认为当前目录查找条件:指…

虚拟DOM Diff算法解析

React中最神奇的部分莫过于虚拟DOM&#xff0c;以及其高效的Diff算法。这让我们可以无需担心性能问题而”毫无顾忌”的随时“刷新”整个页面&#xff0c;由虚拟DOM来确保只对界面上真正变化的部分进行实际的DOM操作。React在这一部分已经做到足够透明&#xff0c;在实际开发中我…

生成ID模板:年月日时分秒+6位自增码

因为生成订单ID、商品ID 或者什么什么ID的&#xff0c;不想用自增&#xff0c;又怕反复&#xff0c;于是就用 年与日时分秒 6位自增码 &#xff08;共计20位长度&#xff09;来当作ID 注意&#xff1a;假设你的ID是Long型。就要注意&#xff0c;Long的最大长度为19位&#xf…

oracle optimizer_features_enable,Oracle Optimizer:迁移到使用基于成本的优化器—–系列2.1-数据库专栏,ORACLE...

oracle optimizer:迁移到使用基于成本的优化器—–系列2.1系列之二包含影响优化器选择执行计划的初始化参数和oracle内部隐藏参数&#xff0c;合理设置这些参数对于优化器是相当重要的。6.影响优化器的初始化参数除了生成统计资料之外&#xff0c;下面提及的参数设置在你的系统…

Azure 跨订阅迁移资源踩坑记

突然收到微软的邮件&#xff0c;提示我的一个 Azure 订阅已经到期&#xff0c;所以转为“禁用”状态&#xff0c;只能进行数据的导出和处理。在这个订阅里有不少较重要的资源在跑&#xff0c;直接关了可不行…于是开启了一个支持事件&#xff0c;台湾美眉的态度和声线真的没话说…

阶乘的精确性

/* 输入不超过1000的正整数n&#xff0c;输出n!1*2*3*……*n的精确结果。 样例输入&#xff1a;30 样例输出&#xff1a;265252859812191058636308480000000 例如 n3&#xff1b;s6&#xff1b; n4&#xff1b;s24&#xff1b; n5&#xff1b;s120&#xff1b; 1000的阶乘需要一…