Java从一个数组指定位置拷贝到另外一个数组的指定位置-新法
2016-11-03 11:03
267 查看
软件攻城狮 2016-11-02 07:34
编者:明明如月
《数据结构实用教程(Java语言描述)》 徐孝凯 编著
清华大学出版社
![](http://p1.pstatp.com/large/106d00001f3dc278cc59)
有一段这样的代码:
![](http://p3.pstatp.com/large/10240007ed6b254f9542)
在idea里面 我们发现 for这里有一些小问题:
![](http://p3.pstatp.com/large/10240007ede4a844a4c1)
根据提示我们发现可以通过 System.arraycopy() 方法来替换这个for循环。
不过这个方法放在System这个类下,多少还有些奇怪。
我们先看下文档:
![](http://p3.pstatp.com/large/10250001e8c75958d802)
意思是:从源数组的指定开始角标位置,拷贝到目标数组指定位置。
src - 源数组
srcPos - 源数组的开始位置
dest - 目标数组
destPos -目标数组的开始位置
length - 数组元素拷贝的数量
看一个简单的例子:
![](http://p3.pstatp.com/large/102100037555729ae3e1)
运行结果:
![](http://p1.pstatp.com/large/1064000727a3c8ada72b)
现在清楚怎么用了吧
我们对原书代码改成为:
![](http://p3.pstatp.com/large/10250001e510cf704c26)
经过运行发现效果是一样的。
你可能会奇怪为啥自己复制到自己会不会被覆盖呢?
我们去看下源码,上面有详细的注释:
![](http://p3.pstatp.com/large/10240007fd6f68e07e3f)
上面说 如果源数组和目标数组引用的是一个数组的话,就会借助临时数组进行处理。
这样我们就一目了然了。
虽然很简单。
但是一方面说明idea非常强大,
其次关于JDK的方法,如果有疑问尽量去看源码去分析。
另外一方面我们适当接触一下新的方法,不要总墨守成规,对IDE提示视而不见。
我们在写代码的时候建议多看idea给的提示,有一些不规范或者有更好的方法,Idea会给出建议。
编者:明明如月
《数据结构实用教程(Java语言描述)》 徐孝凯 编著
清华大学出版社
有一段这样的代码:
在idea里面 我们发现 for这里有一些小问题:
根据提示我们发现可以通过 System.arraycopy() 方法来替换这个for循环。
不过这个方法放在System这个类下,多少还有些奇怪。
我们先看下文档:
意思是:从源数组的指定开始角标位置,拷贝到目标数组指定位置。
src - 源数组
srcPos - 源数组的开始位置
dest - 目标数组
destPos -目标数组的开始位置
length - 数组元素拷贝的数量
看一个简单的例子:
运行结果:
现在清楚怎么用了吧
我们对原书代码改成为:
经过运行发现效果是一样的。
你可能会奇怪为啥自己复制到自己会不会被覆盖呢?
我们去看下源码,上面有详细的注释:
上面说 如果源数组和目标数组引用的是一个数组的话,就会借助临时数组进行处理。
这样我们就一目了然了。
虽然很简单。
但是一方面说明idea非常强大,
其次关于JDK的方法,如果有疑问尽量去看源码去分析。
另外一方面我们适当接触一下新的方法,不要总墨守成规,对IDE提示视而不见。
我们在写代码的时候建议多看idea给的提示,有一些不规范或者有更好的方法,Idea会给出建议。
相关文章推荐
- Java从一个数组指定位置拷贝到另外一个数组的指定位置-新法
- java程序:一个排序好的数组,增加一个数插入到合适的位置保存到另外个数组,输出
- java拷贝目录及其子目录、文件,到另外一个目录
- 从一个表向另外一个表拷贝数据
- 数组的元素在指定位置插入一个数字
- 根据一个整齐的数据,随机的得到一个新的数组,可指定数组元素出现的位置
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写
- 【通用语法】C++ c# JAVA double 求指定有效位数 4舍5入,确定一个数组的整数上下限
- 分享下java 读取目录及子目录下指定文件名的路径 并放到一个List数组里面返回遍历和写到文件里
- java-利用折半查找算法将一个数插入有序数组中适当位置
- java实现从一个数据库查询数据经过处理导入另外一个数据库中
- 在一个数组中的指定位置上增加一个指定值
- 实现在一个数组指定位置添加元素和删除元素的功能
- 在数组中指定的位置插入一个数.
- 在java中怎么样从一个集合中截取一定长度的元素放到一个新集合中,不是数组哦!。
- 使用sed在一个文件中指定位置插入另外一个文件的内容-r命令的使用
- 用java写了一个实用的类----递归的拷贝给定目录的.java文件到指定的一个文件中
- JAVA获得一个数组的指定长度的排列
- 一个有n个整数的递增有序数组。对它进行向左或向右循环移动若干次后,要求给出一个代码实现,尽可能快地从这个数组中寻找指定值所在的位置
- 将一个文件从一个文件夹拷贝到另一个文件夹的java代码