黑马程序员技术交流社区

标题: 如何将一个数组中的部分元素复制到另一个数组中??? [打印本页]

作者: 魏冬    时间: 2012-12-4 21:45
标题: 如何将一个数组中的部分元素复制到另一个数组中???
那位大侠能帮帮忙啊?实在是写不出来了。 谁能帮我写个最后是加注释。每一步是干什么的  解释一下。。。。谢谢。。。
作者: 孔德智    时间: 2012-12-4 22:19
将已知数组转化为字符串,用字符串这个方法可以截取substring(int beginIndex, int endIndex)
将得到的字符串再转换成数组,就ok了

作者: 新立    时间: 2012-12-4 22:23
去看看java基础加强吧,泛型,应该可以得到点儿启发

作者: 罗会涛    时间: 2012-12-5 00:04
直接在数组工具类里面找方法啊
Arrays的copyOfRange方法直接解决问题
作者: 冯伟超    时间: 2012-12-5 00:13
使用Arrays 的方法 byte[]   copyOf(byte[] original, int newLength),因为我不知道你的是什么类型的数组,所以我就举了这个。建议你使用Arrays下的方法也可以使用其他的数组,一步到位

作者: 杨永胜    时间: 2012-12-5 01:12
Arrays.copyOf有很多形式,一定可以解决你的问题
作者: 魏秀盛    时间: 2012-12-5 02:31
本帖最后由 魏秀盛 于 2012-12-5 02:33 编辑

在JDK中数组复制是System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
          从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。        
举例如下:
        int[] smallPrimes={2,3,5,7,11,13};
        int[] luckynumbers={101,102,103,104,105,106,107};
        System.arraycopy(smallPrimes,2,luckynumbers,3,4);//这里将第一个数组smallPrimers的后4个元素拷贝到第二个数组luckynumbers中,拷贝数组从原始数组的第2个位置开始,一共拷贝4个元素,目标数组起始位置为3
        for(int i=0;i<luckynumbers.length;i++){
                System.out.println(i+": "+luckynumbers);
                }
输出结果为:
0: 101
1: 102
2: 103
3: 5
4: 7
5: 11
6: 13





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2