第八章 Arrays
8.1 Arrays
操作数组的工具类 【静态工厂】
**API:**说明手册 说明书
- static String toString(int[ ] a)
打印一维数组中的内容
- static String deepToString( Object[ ] a)
打印二维数组中的内容
- **static boolean equals ( int[ ] a, int[ ] a2) **
比较两个一维数组中的数据是否相同
- static boolean deepEquals ( Object[ ] a1, Object[ ] a2)
比较两个二维数组中的数据是否相同
8.2 数组拷贝
- static int[ ] copyOf ( int[ ] original, int newLength ) 【新数组在内部中已经创建好】
复制原数组的指定长度 并返回一个新数组
original:原数组
newLength:新数组的长度
新数组长度 = 原数组长度 ===> 拷贝
新数组长度 < 原数组长度 ===> 截取
新数组长度 > 原数组长度 ===> 填充
注:
默认从索引为0的位置开始拷贝
新数组 数据的拷贝是copyOf方法内部实现
- static int[ ] copyOfRange ( int[ ] original, int from, int to )
将指定数组的指定范围复制到新数组中
新数组是由copyOfRange方法内部创建
注:
★ 一般结束索引不包含
- static void arraycopy ( Object src, int srcPos, Object dest, int destPos, int length)
**src:**原数组
**srcPos:**原数组起始位置
**dest:**新数组
**destPos:**新数组的起始位置
**length:**拷贝数组的长度|个数
将指定原数组中的数组从指定位置开始复制到目标数组的指定位置
注:
新数组要自己构建
8.3 Arrays 其他常用方法
- static void fill ( int[ ] a, int val )
将指定的int值分配给指定的int数组的每个元素
- static void fill(int[] a, int fromIndex, int toIndex,int val)
将指定的int值分配给指定的int数组的指定范围的每个元素
- static void sort ( int[ ] a )
将指定的数组按升序排序
- static void sort ( int[ ] a, int fromIndex, int toIndex)
按升序对数组的指定范围进行排序
- static int binarySearch ( int[ ] a, int key ) 【要求数组是升序排列,返回的是索引】
使用二进制搜索算法在指定的int数组中搜索指定的值 如果找不到返回 -插入点-1
- static int binarySearch ( int[ ] a, int fromIndex,int toIndex,int key)
使用二进制搜索算法搜索指定值的指定数组的范围