关于System.arraycopy数组复制的一个问题
2015-09-24 17:11
232 查看
本小节主要讲的是数组复制的一个问题
在EClipse里面输入System.arraycopy会自动显示:
System.arraycopy(src, srcPos, dest, destPos, length);
src-------源数组
scrPos--------源数组起始位置
dest----------目标数组
destPos-----------目标数组的起始位置
例:int []a=new int[]{10,20,30,40,50};
int []b=new int[6];
System.arraycopy(a, 1, b, 0, 4);
最后输出的结果:20 30 40 50 0 0 //因为b数组有6个没有被赋值的默认为0
Arrays.copyOf也用于数组复制
使用java.util.Arrays类的copyOf方法实现数组复制:
类型1 [ ]newArray=Arrays.copyOf(类型 original,int newLength)
newLength小于源数组,则进行截取
[b]newLength大于源数组,则用0或null进行填充
[/b]
[b]所以产生的新数组可以大于源数组[/b]
[b]例:int [ ]a={10,20,30,40,50};[/b]
[b] int [ ]b=Arrays.copyOf(a,6);[/b]
[b]b数组里面的元素为:10 20 30 40 50 0 [/b]
在EClipse里面输入System.arraycopy会自动显示:
System.arraycopy(src, srcPos, dest, destPos, length);
src-------源数组
scrPos--------源数组起始位置
dest----------目标数组
destPos-----------目标数组的起始位置
例:int []a=new int[]{10,20,30,40,50};
int []b=new int[6];
System.arraycopy(a, 1, b, 0, 4);
最后输出的结果:20 30 40 50 0 0 //因为b数组有6个没有被赋值的默认为0
Arrays.copyOf也用于数组复制
使用java.util.Arrays类的copyOf方法实现数组复制:
类型1 [ ]newArray=Arrays.copyOf(类型 original,int newLength)
newLength小于源数组,则进行截取
[b]newLength大于源数组,则用0或null进行填充
[/b]
[b]所以产生的新数组可以大于源数组[/b]
[b]例:int [ ]a={10,20,30,40,50};[/b]
[b] int [ ]b=Arrays.copyOf(a,6);[/b]
[b]b数组里面的元素为:10 20 30 40 50 0 [/b]
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序