System.arraycopy()从指定源数组中复制一个数组
来源:互联网 发布:可视化编程的最大优点 编辑:程序博客网 时间:2024/06/01 09:09
System类提供了一个arraycopy()方法
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
该方法用于从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。从 src 引用的源数组到 dest 引用的目标数组,数组组件的一个子序列被复制下来。被复制的组件的编号等于 length 参数。源数组中位置在 srcPos 到 srcPos+length-1 之间的组件被分别复制到目标数组中的 destPos 到 destPos+length-1 位置。
如果参数 src 和 dest 引用相同的数组对象,则复制的执行过程就好像首先将 srcPos 到 srcPos+length-1 位置的组件复制到一个带有 length 组件的临时数组,然后再将此临时数组的内容复制到目标数组的 destPos 到 destPos+length-1 位置一样。
方法参数解释
src - 源数组。srcPos - 源数组中的起始位置。dest - 目标数组。destPos - 目标数据中的起始位置。length - 要复制的数组元素的数量。
方法使用中抛出的异常
IndexOutOfBoundsException - 如果复制会导致对数组范围以外的数据的访问。 ArrayStoreException - 如果因为类型不匹配而使得无法将 src 数组中的元素存储到 dest 数组中。 NullPointerException - 如果 src 或 dest 为 null。
案例
public class SystemDemo { public static void main(String[] args) { int[] arr1 = { 1, 2, 3, 4, 5, 6, 7}; // 打印当前数组 System.out.println(Arrays.toString(arr1)); // 实现数组自我复制,把从索引0开始的3个数字复制到索引为4的位置上 System.arraycopy(arr1, 0, arr1, 4, 3); System.out.println(Arrays.toString(arr1)); // 实现将数组复制到其他数组中,把从索引1开始的3个数据复制到目标的索引为0的位置上 int[] arr2 = new int[7]; System.arraycopy(arr1, 1, arr2, 0, 3); System.out.println(Arrays.toString(arr2)); }}
结果:
0 0
- System.arraycopy()从指定源数组中复制一个数组
- System.arraycopy()实现数组复制
- System.arraycopy使用复制数组
- 关于System.arraycopy数组复制的一个问题
- java 数组复制:System.arrayCopy 解析
- java 数组复制:System.arrayCopy 深入解析
- System.arraycopy()实现数组之间的复制
- System.arraycopy()实现数组之间的复制
- Java使用System.arraycopy复制数组
- java 数组复制:System.arrayCopy 深入解析
- 数组复制 System.arraycopy用法例
- System.arraycopy()实现数组之间的复制
- System.arraycopy之数组复制,基础知识。
- System.arraycopy()实现数组之间的复制
- System.arraycopy实现数组之间的复制
- 数组合并System.arraycopy
- 数组System.arraycopy
- java数组复制(arraycopy)
- 剑指offer--面试题41:和为S的两个数字 vs 和为S的连续正数序列
- Linux C 文件管理2
- javaScript实现弹出层效果
- web.xml is missing and <failOnMissingWebXml> is set to true
- Android Studio 网络编程 OkHttp3 用法
- System.arraycopy()从指定源数组中复制一个数组
- 设置导航栏透明,tableview不能下拉,并默认起点(0,0),页面消失后导航栏还原
- android开发游记:RecycleView 实现复杂首页布局三种方式
- Codeforces Round #373 (Div. 1) C.Sasha and Array
- 编辑器扩展——模板
- Android自定义控件之简介
- 重载函数
- OpenJudge - 2989 糖果 动态规划(DP) 重庆一中高2018级竞赛班第十一次测试 2016.9.24 Problem 2
- Module中无法使用R文件问题