数组进行的基本功能1(拷贝)

拷贝

拷贝是将一个数组里面的数复制到另一个数组里,首先是初始化两个数组,且一个里面放有数值,在进行拷贝时,应该考虑数组的长度,只有要拷贝的数组高度小于或等于被拷贝的数组长度时,数组才可以进行拷贝工作。

  public class Array03 {
  public static void main(String[] args){
  int[] a=CreateData(10);      //产生10个元素的一维数组
  int[] b=new int[5];      //定义一个新的数组,其空间为5
  Array01Copy(a,b);
    for(int i=0;i<b.length;i++)
     {
           System.out.print(b[i]+"\t");      //开始进行拷贝
     }
   }

  public static void Array01Copy(int[] a,int[] b)     //void 类型不需要写return
{                                               //拷贝函数段
  if(b.length<=a.length)        //  拷贝的条件,即b的长度小于等于a的长度
   {
     for(int i=0;i<b.length;i++)           //进行拷贝
      {
         b[i]=a[i];
      }  
   }

}

  public static int[] CreateData(int n)         //产生一个随机数组
 {
  int[] a=new int[n];
  for(int i=0;i<a.length;i++)
     {
     a[i]=(int)(Math.random()*10);
     }
  return a;
   }

}

以上的代码是自己写的以写拷贝函数的方式进行拷贝,而在JAVA语言中,有自己的内库,即,System.arraycopyimport java.util.Arrays头文件进行调用而以上代码并没有显示出结果,而我们可以将拷贝之前和拷贝之后的数组中的数值分别打印出来,优化之后的代码为。

  import java.util.Arrays;
  public class Array03 { 
  public static void main(String[] args)
 {
  int[] a=CreateData(10);      //产生10个元素的一维数组
  System.out.println("原始数组显示:");
  System.out.println(Array2str(a));
  int[] b=new int[5];
  System.arraycopy(a,0,b,1,2);    //将a数组中的第i个值从第m个数拷贝给b数组第i个值(a,i,b,i,m)
  System.out.println("目标数组显示:");
  System.out.println(Array2str(b));
}
public static String Array2str(int[] a)
{
 String str="";
  for(int i=0;i<a.length;i++)
  {
     str+=a[i]+"\t";
 }
  return str;
 }
ic static int[] CreateData(int n)

 {

  int[] a=new int[n];

  for(int i=0;i<a.length;i++)
  {
     a[i]=(int)(Math.random()*10);
  }
  return a;
 }
}
发布了16 篇原创文章 · 获赞 11 · 访问量 655

猜你喜欢

转载自blog.csdn.net/qq_44981039/article/details/102572708
今日推荐