java 核心内容()数组拷贝的两种方法
2018-01-10 16:13
393 查看
1、system提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。
public static void arraycopy(Object src,int srcPos,
Object dest,
int destPos,
int length)
src:源数组; srcPos:源数组要复制的起始位置;
dest:目的数组; destPos:目的数组放置的起始位置;
length:复制的长度。
注意:src and dest都必须是同类型或者可以进行转换类型的数组.
有趣的是这个函数可以实现自己到自己复制,比如:
int[] fun ={0,1,2,3,4,5,6};
System.arraycopy(fun,0,fun,3,3);
则结果为:{0,1,2,0,1,2,6};
实现过程是这样的,先生成一个长度为length的临时数组,将fun数组中srcPos
到srcPos+length-1之间的数据拷贝到临时数组中,再执行System.arraycopy(临时数组,0,fun,3,3).
2、 关于Java 拷贝数组方法 Arrays.copyOf()
public static <T> T[] copyOf(T[] original, int newLength) { return (T[]) copyOf(original, newLength, original.getClass()); } public static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType) { T[] copy = ((Object)newType == (Object)Object[].class) ? (T[]) new Object[newLength] : (T[]) Array.newInstance(newType.getComponentType(), newLength); System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength)); return copy; }
相关文章推荐
- java 数组 、 for each循环, 数组的两种拷贝方法 ,Arrays.copyOf(),Arrays.toString[],匿名数组
- Java学习 产生一个随机数组的两种方法
- HashTable的数组和连接两种实现方法(Java版本)
- JavaScript数组深拷贝和浅拷贝的两种方法
- Java数组实现循环队列的两种方法
- Java数组拷贝方法arraycopy()
- Java学习之数组1(1.数组的声明;2.元素为引用数据类型的数组;3.关于main方法里的String[] args;4.数组排序;5.数3退1 数组算法,(用数组模拟链表);6数组查找之二分法;7数组的拷贝)
- Java基础:Day05笔记内容 (方法、数组)
- javascript 判断数组中的重复内容的两种方法(修复BUG) by FungLeo
- Java数组实现循环队列的两种方法
- JavaScript判断数组重复内容的两种方法(推荐)
- 排除数组中重复的内容的两种方法
- java数组拷贝native方法
- Java基础知识强化85:System类之arraycopy()方法(数组拷贝)
- java基础之数组的拷贝(自定义方法与System下的自带方法对比)
- java排序的两种方法(数组排序)冒泡法和冒泡改进法
- Java中数组的两种排序方法
- 从新浪微博搜索站点中超大批量爬取新浪微博内容方法和核心源码(java)
- java中对集合或数组进行排序有两种方法:Comparable 与 Comparator
- java数组的拷贝四种方法:for、clone、System.arraycopy、arrays.copyof