Arrays.copyOf方法用于数组复制
使用java.util.Arrays类的copyOf方法可实现数组的复制,其结构如下所示:
类型[ ] newArray = Arrays.copyOf ( 类型[ ] original , int newLength )
Arrays.copyOf()方法示例代码如下所示:
int [ ] a = { 10,20,30,40,50 } ;
int [ ] a1 = Arrays . copyOf ( a, 6 );
上段代码执行后,a1的结果为:10 20 30 40 50 0,分析其执行过程为:声明一个整型数组,数组变量名称为a,赋初始值为10 20 30 40 50,声明整型数组a1,将a数组数据复制到a1数组,设置其为6个长度,因a数组只有5个元素,所以最后一位补0。故而输出结果为10 20 30 40 50 0。总结出Arrays.copyOf()方法的特点如下列表所示:
Java语法规定,数组的长度在创建后是不可改变的,这点需要明确。而所谓的扩容实际上是指创建一个更大的新数组并将原有数组的内容复制到其中。可以通过Arrays.copyOf()方法,简便的实现数组的扩展。
Arrays.toString()方法将数组转化成字符串输出
会在数组的两端加上中括号[]。
int a[] = {1,2,3,4,5};
System.out.println(Arrays.toString(a));%输出[1,2,3,4,5]
Arrays.sort方法用于数组排序
JDK提供的Arrays.sort()方法封装了数组的排序算法,如下述代码所示:
- int[ ] arr = { 49, 81, 1, 64, 77, 50, 0, 54, 77, 18 };
- Arrays.sort( arr ) ;
- for(int i=0; i<arr.length; i++) {
- System.out.println(arr[i] );
- }
int[ ] arr = { 49, 81, 1, 64, 77, 50, 0, 54, 77, 18 };
Arrays.sort( arr ) ;
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i] );
}
- int[ ] arr = { 49, 81, 1, 64, 77, 50, 0, 54, 77, 18 };
- Arrays.sort( arr ) ;
- for(int i=0; i<arr.length; i++) {
- System.out.println(arr[i] );
- }
分析上面的代码,输出结果为:0 1 18 49 50 54 64 77 77 81。可以看到,借助于Arrays.sort()方法实现了升序排列。
System.arraycopy方法用于数组复制
若想实现数组的复制,可以使用System.arraycopy( )方法,其结构如下:
public static void arraycopy(Object src, int srcPos,Object dest, int destPos, int length)
如上代码的,每一个参数的意义见下列表:
通过下面的代码,可实现数组的复制:
- int[ ] a = { 10 ,20 ,30 ,40 ,50 };
- int[ ] a1 = new int[ 6 ] ;
- System.arraycopy( a , 1 , a1 , 0 , 4 ); 结果:20,30,40,50
如上方法的意义可以理解为:将a数组的从下标1开始的4个元素复制到a1数组中,a1数组从下标0位置开始赋值。程序执行完后,a1的值为20,30,40,50,0,0。其交互效果如图 – 3所示:
Random 类的 nextInt()方法产生随机数
- import java.util.Random;
- public class MinOfArray {
- public static void main(String[] args) {
- //创建一个 10 个长度的数组
- int[] arr = new int[10];
- //随机生成 10 个0-99之间的数值,放入数组
- Random ran = new Random();
- for(int i=0;i<arr.length;i++){
- arr[i] = ran.nextInt(100);
- }
- }
- }
网友评论