Arrays的常用功能
发布日期:2021-10-06 14:20:08 浏览次数:1 分类:技术文章

本文共 1967 字,大约阅读时间需要 6 分钟。

Arrays类有一套用于数组的静态方法,在我们的开发中时常会用到,就《java编程思想》中列举的诸多方法,在这里总结一下,方便自己以后的使用。
  • Arrays.equals():用于比较两个数组是否相等。
  • Arrays.deepEquals():用于比较两个多维数组是否相等。
  • Arrays.fill():用于向数组中填充指定的数值。
Arrays.fill(a, val);  ——向a数组中填充val只直到写满为止。
Arrays.fill(a, fromIndex, toIndex, val);——在a数组fromIndex到 toIndex的区间内填充val值。
  • Arrays.sort():用于对数组的排序。
Arrays.sort(a);——对a数组进行正向排序。
Arrays.sort(a,  comparator);——对数组a按照comparator定义的规则进行排序。
Arrays.sort(a, fromIndex, toIndex);——对a数组fromIndex到 toIndex区间内的值进行正向排序。
Arrays.sort(a, fromIndex, toIndex,comparator);——对a数组fromIndex到 toIndex区间内的值
按照comparator定义的规则进行排序。
  • Arrays.binarySearch():使用二分法在已经排序的数组中查找元素,有就返回响应的索引值,没有返回(-插入点-1)
Arrays.binarySearch(a, key);——在数组a中查询是否有key元素
Arrays.binarySearch(a, key,comparator);——在数组a中查询是否有key元素,前提是a数组用comparator进行升序排列。
Arrays.binarySearch(a, fromIndex, toIndex, key);——在a数组fromIndex到 toIndex区间中查询是否有key元素。
Arrays.binarySearch(a, fromIndex, toIndex, key,comparator);——在a数组fromIndex到 toIndex区间中查询是否有key
元素,前提是a数组用comparator进行升序排列。
  • Arrays.toString():产生数组的String表示。
  • Arrays.hashCode():产生数组的散列码。
  • Arrays.deepHashCode():用于多维数组产生散列码。
  • Arrays.asList():将任意的序列或数组转变为list
  • System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是: public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src:源数组; srcPos:源数组要复制的起始位置; dest:目的数组; destPos:目的数组放置的起始位置; length:复制的长度。
char[] c1 = new String("123456").toCharArray();          char[] c2 = new String("abcdef").toCharArray();          System.arraycopy(c1,2 , c2, 1, 2);          for(char c : c1){              System.out.print(c);          }          System.out.println();          for(char c : c2){              System.out.print(c);          }  //结果:123456 a34def
值得注意的一点是系统提供的这种复制方式只是一种浅复制(复制对象数组是只会复制对象的引用),而不是对象本身的拷贝。
  • arraycopy()需要目标数组,将原数组拷贝到你自己定义的数组里,而且可以选择拷贝的起点和长度以及放入新数组中的位置
  • copyOf()是系统自动在内部新建一个数组,调用arraycopy()将original内容复制到copy中去,并且长度为newLength。返回copy; 即将原数组拷贝到一个长度为newLength的新数组中,并返回该数组。
  • Array.copyOf()可以看作是受限的System.arraycopy(),它主要是用来将原数组全部拷贝到一个新长度的数组,适用于数组扩容。

转载地址:https://blog.csdn.net/m0_37664906/article/details/78357173 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Collection及常用集合的功能方法
下一篇:java潜在类型机制的具体实现

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年03月25日 09时01分14秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

天涯明月刀开发_玩家被天涯明月刀手游“冷落”?六大门派角色竟不带正眼看人... 2019-04-21
this指向undefined uiapp_一个this都没有,真好 2019-04-21
add p4 多个文件_2-3【微信小程序全栈开发课程】index页面完善--vue文件代码解析... 2019-04-21
5w2h原则指的是什么_什么是5W2H分析法?一首小诗带入进入大门。 2019-04-21
技校毕业是什么学历_中等职业学校是什么_中等职业学校毕业是什么学历 2019-04-21
2压缩备份数据库_MySQL数据备份与恢复(二) xtrabackup工具 2019-04-21
英特尔cpu发布时间表_被嘲讽的英特尔核显,强大能力其实超乎你的想象 2019-04-21
chi2inv函数 matlab_MATLAB概率和统计(2) 2019-04-21
lisp修改上一个图素_在Windows上安装Haskell 2019-04-21
ad19 导出step 没有pcb_几款主流PCB软件哪个最好用,你用过几款? 2019-04-21
json mysql 字段 默认值_Newtonsoft.Json 六个超简单又实用的特性,值得一试 【上篇】... 2019-04-21
ocdma相干非相干_《Acconeer 60GHz脉冲相干雷达芯片:A111》 2019-04-21
修改表格字体颜色_Excel技巧:Excel如何修改字体颜色 2019-04-21
native react 变颜色 点击_React Native主动更改StackNavigator标头颜色 2019-04-21
prism项目搭建 wpf_WPF MVVM使用prism4.1搭建 2019-04-21
python发微信红包群_用Python实现微信自动化抢红包,再也不用担心抢不到红包了... 2019-04-21
python中func自定义函数_Python函数之自定义函数&作用域&闭包 2019-04-21
wget连接指定端口_端口通不通 telnet wget ssh 2019-04-21
eureka 调用服务_Spring Cloud微服务架构从入门到会用(二)—服务注册中心Eureka... 2019-04-21
easyexcel 工具类_问了个在阿里的同学,他们常用的15款开发者工具! 2019-04-21