java中Arrays类的简单使用_java调用函数arrays-程序员宅基地

技术标签: 排序  填充  比较  Java从入门到放弃--Java核心技术卷1学习笔记  查找  Arrays  

转载原文:http://blog.csdn.net/object_allen/article/details/41695425


java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能:

² 给数组赋值:通过fill方法。

² 对数组排序:通过sort方法,按升序。

² 比较数组:通过equals方法比较数组中元素值是否相等。

² 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

 

 

import java.util.Arrays;

public class TestArrays {

public static void output(int[] array) {

if (array!=null) {

for (int i = 0; i < array.length; i++) {

System.out.print(array[i]+" ");

}

}

System.out.println();

}

public static void main(String[] args) {

int[] array = new int[5];

//填充数组

Arrays.fill(array, 5);

System.out.println("填充数组:Arrays.fill(array, 5):");

TestArrays.output(array);

 

//将数组的第2和第3个元素赋值为8

Arrays.fill(array, 2, 4, 8);

System.out.println("将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):");

TestArrays.output(array);

 

int[] array1 = {7,8,3,2,12,6,3,5,4};

//对数组的第2个到第6个进行排序进行排序

Arrays.sort(array1,2,7);

System.out.println("对数组的第2个到第6个元素进行排序进行排序:Arrays.sort(array,2,7):");

TestArrays.output(array1);

 

//对整个数组进行排序

Arrays.sort(array1);

System.out.println("对整个数组进行排序:Arrays.sort(array1):");

TestArrays.output(array1);

 

//比较数组元素是否相等

System.out.println("比较数组元素是否相等:Arrays.equals(array, array1):"+"\n"+Arrays.equals(array, array1));

int[] array2 = array1.clone();

System.out.println("克隆后数组元素是否相等:Arrays.equals(array1, array2):"+"\n"+Arrays.equals(array1, array2));

 

//使用二分搜索算法查找指定元素所在的下标(必须是排序好的,否则结果不正确)

Arrays.sort(array1);

System.out.println("元素3在array1中的位置:Arrays.binarySearch(array1, 3):"+"\n"+Arrays.binarySearch(array1, 3));

//如果不存在就返回负数

System.out.println("元素9在array1中的位置:Arrays.binarySearch(array1, 9):"+"\n"+Arrays.binarySearch(array1, 9));

}

}

 

输出结果:

填充数组:Arrays.fill(array, 5):
5 5 5 5 5
将数组的第2和第3个元素赋值为8:Arrays.fill(array, 2, 4, 8):
5 5 8 8 5
对数组的第2个到第6个元素进行排序进行排序:Arrays.sort(array,2,7):
7 8 2 3 3 6 12 5 4
对整个数组进行排序:Arrays.sort(array1):
2 3 3 4 5 6 7 8 12
比较数组元素是否相等:Arrays.equals(array, array1):
false
克隆后数组元素是否相等:Arrays.equals(array1, array2):
true
元素3在array1中的位置:Arrays.binarySearch(array1, 3):
1
元素9在array1中的位置:Arrays.binarySearch(array1, 9):
-9



转载原文:http://blog.csdn.net/object_allen/article/details/41695425

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zz775854904/article/details/78872428

智能推荐

oracle怎么ping别人,在Oracle中,如何跟踪tnsping过程?-程序员宅基地

文章浏览阅读111次。A答案如下所示:sqlnet是oracle提供的与网络层面交互的一个工具,比如如何解析客户端发起的连接,如何对客户端发起的连接进行辨别,如何对客户端连接进行阻隔限制,或者启用日志及跟踪(log and trace)功能等等一系列的功能。所以,可以通过sqlnet工具对tnsping进行跟踪分析,查找为何外部网络无法连接数据库的原因。可以在客户端的sqlnet.ora中配置:tnsping.trac..._oracle 执行 ping

springcloudalibaba架构(15):Gateway自定义路由断言_gateway 自定义断言-程序员宅基地

文章浏览阅读971次。如果内置断言不满足我们的场景,如何自定义路由断言?我们知道了内置的断言,那么要自定义路由断言该如何操作呢?我们可以查看内置的断言如何实现?举例:BetweenRoutePredicateFactoryCtrl+NIDEA查找类知道内置路由断言的实现细节,我们只需要按照它的实现方式,来按部就班的实现自己的路由断言即可。下面我们就实现一个自己的路由断言。需求假设: 大于16岁,并且小于60岁,才能访问。先进行路由配置。......_gateway 自定义断言

C语言三角形的判断代码_c语言判断三角形类型等腰直角三角形-程序员宅基地

文章浏览阅读371次。C语言三角形的判断代码_c语言判断三角形类型等腰直角三角形

linux 迁移文件windows,如何完成Linux文件系统与Windows文件系统间的迁移?-程序员宅基地

文章浏览阅读386次。我常常遇到这样的情况:服务器上已经有可悲的是,这样的转换几乎是不可能的,而且我认为这在将来也不会成为可能。很多原因导致该功能在最初不会是一个好想法,而且它会变得越来越不必要。下面就是原因。一开始,磁盘格式的就地转换本身就很危险。当你在给定系统唯一可用的副本上工作时,这是颇具风险的行为。你相信该程序可以立刻操控整个卷,不会有多大失误。如果转换期间某部分出错了,该数据的唯一副本就破坏了。此外,如果该数..._文件系统 ext3怎么把数据导到window

Go语言/golang/位操作/取反/异或/左移/右移-程序员宅基地

文章浏览阅读3.5k次。为什么80%的码农都做不了架构师?>>> ..._go 取反操作

北大AI公开课2019 | 雷鸣:人工智能革命与机遇-程序员宅基地

文章浏览阅读132次。2019年2月20日,北京大学“人工智能前沿与产业趋势”正式开课。本学期的课程邀请到了商汤科技副总裁沈徽、驭势科技CEO吴甘沙、微软亚洲研究院副院长周明、360人工智能研究院院长颜水成、YC中国创始人及CEO、百度集团副董事长陆奇等14位来自产业界的大咖进行授课,我们作为独家合作媒体将全程跟进并对北大这14场公开课进行整理,敬请关注!北大人工智能创新中心主任雷鸣作为课程的发起人与主持人率先开讲。作...

随便推点

UGUI案例篇第(三)节:UGUI实现3D轮转图效果-程序员宅基地

文章浏览阅读2.9k次,点赞11次,收藏23次。UGUI三种实现规则与不规则图形Button精准点击效果的策略)(一) 为什么需要精准点击?(二) 3种实现规则与不规则图形Button精准点击效果的方案1. 所有图形button都适用的官方解决方案。 实现原理 实现步骤 优点 缺点2.所有图形都适用的Ray-Crossing算法策略。 实现原理重点介绍: 实现步骤优点 缺点3.圆形除外(圆形实现不易精确)的其他图形都适用的绘制碰撞体方案实现原..._ugui案例

样条曲线_Solidworks中如何完全定义样条曲线-程序员宅基地

文章浏览阅读9.2k次。常规的草图线大家都知道如何完全定义,但是样条曲线可能不知道。下面就来说一说吧。我这里用的是solidworks2018软件。创建草图在前视基准面上画草图,其中有两条直线和一条样条曲线。下面的直线中点与原点相重合。而且下面的草图的完全定义的,就是无法移动了。样条曲相关我们上面画的样条曲线有三个控标,分别在100、200、100处各有一个点,可以用智能尺寸去标注控标处的点的距离,如上图所示,标注了左右..._sw样条曲线怎么完全定义

5天不再惧怕多线程——第三天 互斥体_sdk互斥体-程序员宅基地

文章浏览阅读816次。作者:一线码农转自:http://www.cnblogs.com/huangxincheng/archive/2012/03/16/2402320.html_sdk互斥体

VSCode GDB调试配置_vscode debug 参数-程序员宅基地

文章浏览阅读3.2w次,点赞6次,收藏39次。VSCode GDB调试配置1. vscode启动debug窗口按Ctrl+Shift+D,打开Debug窗口默认是“No configurations”, 点击“F5”,会提示你配置GDB参数(选择gcc build and debug active file),配置文件名称为launch.json(配置参考3)配置完成后,再按F5, 会提示配置GCC,选择“Configure Task..._vscode debug 参数

Mybatis查询语句返回的对象中部分字段为null(空)_mybatis resulttype部分字段未null-程序员宅基地

文章浏览阅读2.4w次,点赞20次,收藏38次。sql是正确的,但是商品这个对象只有price(价格),stock(存量)是有值的,其他的都没有.我自己的解决办法是:不使用resultType(问题很多),而是使用resultMap.下面是我的应用场景和解决思路./** * 商品 */public class Goods { /** * 商品id */ private Integer go..._mybatis resulttype部分字段未null

ImageMagick:png序列转gif(适合处理带透明度的图片)_png序列转透明底gif-程序员宅基地

文章浏览阅读5.1k次,点赞3次,收藏6次。最近需要将几组png序列转成gif,之前有用过“Ulead GIF Animator” 和 “Photoshop”,这两款软件应该能满足需求!“Ulead GIF Animator”只有windows版,这些年mac是主力机且一直刻意减少使用PS,通过命令行应该有法子可以生成gif?首先想到的是ffmpeg,虽然ffmpeg主要是视频处理,最近发现可以用它来做一些图片处理,例如 png转jpg、gif转png序列、裁切图片等。一般用ffmpeg基本都是截取视频生成gif,gif没有透明度 ffmpeg _png序列转透明底gif

推荐文章

热门文章

相关标签