miracle just wanna be better

数组的复制

2019-07-03
miracle

数组元素的排序:

在java.util.Array.sort(要排序的数组的名称),会对原数组做升序排序,会改变原数组
比如:

	int[] ages{20,22,30,35,25}
	java.util.Array.sort(ages);

结果是:20 22 25 30 35

数组的复制:

使用Sysout.arraycopy()方法可以实现数组的复制
方法的定义: public static void arraycopy(Object src,int srcpos,Object dest,int destpos,int length)
方法的说明:

  • src:源数组
  • srcpos:源数组中的起始位置
  • dest:目标数组
  • destpos:目标数组的起始位置
  • length:要复制的数组元素的数量 比如:
int[] a = new int[]{1,2,3,4,5};
int[] a1 = new int[8];
System.arraycopy(a,1,a1,0,4)

结果: a1数组中:2,3,4,5,0,0,0,0

使用java.util.Array类中的copyOf方法对数组进行复制

方法的定义:
类型[] newArrayName = Array.copyOf(类型[] original,int newLength); 特点: 生成的新数组是源数组的副本 newLength小于源数组,则进行截取 newLength大于源数组,则用0或null进行填充 所产生的新数组可以大于源数组的长度,属于数组的扩容,所产生的新数组可以小于源数组的长度,属于数组缩容 比如:

int[] a={1,2,3,4,5};
int[] a1 = Arrays.copyOf(a,6);
int[] a2 = Arrays.copyOf(a,3);

结果:
a1数组中的内容:1,2,3,4,5,0
a2数组中的内容:1,2,3

二维数组:

语法:
数据类型[][] 二维数组的名称 = new 数据类型[行数][列数];
比如:

int[][] a = new int[3][4];//声明数组并在堆空间中申请12整型空间
 |a[0][0] | a[0][1] | a[0][2] | a[0][3]|
 |a[1][0] | a[1][1] | a[1][2] | a[1][3]|
 |a[2][0] | a[2][1] | a[2][2] | a[2][3]|

二维数组实际上是由多个一维数组组成
实际上上面的二维数组是由a[0] a[1] a[2]三个一维数组组成


Comments

Content