Java 数组copyOf()与实例

Java 数组copyOf()与实例

java.util.Arrays.copyOf()方法是在java.util.Arrays类中。它复制指定的数组,截断或用false填充(如果需要的话),以便复制出指定的长度。

语法

 copyOf(int[] original, int newLength) 
Java
  • original – 原始数组
  • newLength – 原始数组的副本
// Java program to illustrate copyof method
import java.util.Arrays;
  
public class Main
{
    public static void main(String args[])
    {
        // initializing an array original
        int[] org = new int[] {1, 2 ,3};
  
        System.out.println("Original Array");
        for (int i = 0; i < org.length; i++)
            System.out.print(org[i] + " ");
  
        // copying array org to copy
        int[] copy = Arrays.copyOf(org, 5);
  
        // Changing some elements of copy
        copy[3] = 11;
        copy[4] = 55;
  
        System.out.println("\nNew array copy after modifications:");
        for (int i = 0; i < copy.length; i++)
            System.out.print(copy[i] + " ");
    }
}
Java

输出。

Original Array
1 2 3 
New array copy after modifications:
1 2 3 11 55 
Java

如果复制的数组长度大于原数组,会发生什么情况?
两个数组中所有在原数组和新数组中有效的指数都会有相同的值。
但是,如果复制的数组长度大于原数组,原数组中缺失的指数在复制中会变成 0

// Java program to illustrate copyOf when new array
// is of higher length.
import java.util.Arrays;
  
public class Main 
{
  public static void main(String args[]) 
  {
      // initializing an array original
      int[] org = new int[] {1, 2 ,3};
     
      System.out.println("Original Array : \n");
      for (int i = 0; i < org.length; i++)
           System.out.print(org[i] + " ");  
        
       // copying array org to copy 
       // Here, new array has 5 elements - two
       // elements more than the original array
       int[] copy = Arrays.copyOf(org, 5);
    
       System.out.print("\nNew array copy (of higher length):\n");
       for (int i = 0; i < copy.length; i++) 
           System.out.print(copy[i] + " ");
    }
}
Java

输出。

Original Array : 
1 2 3 
New array copy (of higher length):
1 2 3 0 0 
Java

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册