16 数组
来源:互联网 发布:linux 声卡驱动 编辑:程序博客网 时间:2024/05/24 15:41
16 数组
16.7 Arrays实用功能
- equals() 用于比较两个数组是否相等
- fill() 用同一个值填充数组各个位置
- sort() 用于对数组排序
- binarySearch() 在已经排序的数组中查找元素
- toString()
- hashCode()
此外,Arrays.asList() 接收任意的序列或者数组作为参数,并将其转变为List容器。
16.7.1 复制数组
java标准库提供static方法System.arraycopy()
arraycopy()需要的参数有,源数组,表示从源数组什么位置开始复制的偏移量,目标数组,表示从目标数组什么位置开始复制的偏移量,需要复制的元素个数。当然,对数组的任何越界操作都会导致异常。
然而,如果复制对象数组,那么只是复制了对象的引用,而不是对象本身的拷贝,这被称作浅复制。
System.arraycopy()不会自动包装和拆包,两个数组必须具有相同的确切类型。
16.7.2 数组的比较
数组相等的条件是元素个数必须相等,并且对应位置的元素使用equals()判断相等。
16.7.3 数组元素的比较
- 实现java.lang.Comparable接口,只有一个compareTo()方法。
- 可以创建一个实现了Comparator接口的类,实现compare()方法。并将此类的实例传入Array.sort()方法。
16.7.5 在已经排序的数组中查找
若找到了目标,Arrays.binarySearch()的返回值大于等于0,否则返回负值,表示若要保持数组的排序状态此目标元素应该插入的位置。这个负值的计算方式为:
-(插入点)-1
插入点指第一个大于查找元素在数组中的位置。
如果使用了Comparator排序了某个对象数组,使用binarySearch()时必须提供同样的Comparator。
阅读全文
0 0
- 16 数组
- 第05章 数组 16 二维数组
- 字节数组<->16进制数
- 16周(数组排序)
- 16_Java 数组
- (16)数组
- 16进制转字符数组
- 排序16:最短子数组
- 2017.8.16-------树状数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 递归基础之李白打酒
- MySQL 显示表字段和表插方法
- 平凡的世界——少平写给晓霞的信
- 不用vs,c 语言windows下编写socket,用gcc编译
- 微信小程序上传文件问题
- 16 数组
- Android 6.0 权限适配(PermissionsDipatcher)
- 解决SlidingMenu滑动Menu无法关闭菜单的问题
- 关于vs2015/2013创建opencv项目提示0xc000007b问题
- hibernate 插件(Jboss Tools) 的安装方法
- 清除浮动
- C++11类型别名
- Scala CheatSheet
- Access denied for user \'root\'@\'localhost\'” 解决办法