如何在 Java 中返回数组

原文:https://www.studytonight.com/java-examples/how-to-return-an-array-in-java

在本文中,我们将学习如何在 Java 中返回一个数组。在本教程的最后,您将学习如何在 Java 方法中传递数组,如何在方法内部对它们执行操作,以及最后如何从 Java 方法返回数组。

Java 程序:Java 中返回数组

在下面给出的程序中,我们创建了一个方法public static int[] getArray(),该方法将返回一个分配给arr 的数组arr ,该数组在方法调用语句int[] arr = getArray();中声明,最后将打印该数组。若要返回数组,函数的返回类型必须是Arrays类型。

public class StudyTonight  
{  
    public static void main(String args[])  
    {  
        int[] arr=getArray();           
        for (int i = 0; i < arr.length; i++) 
            System.out.print( arr[i]+ " ");     
    }  
    public static int[] getArray()  
    {  
        int[] arr={17,18,19,20,21};   
        return arr;  
    }  
}

17 18 19 20 21

由于上面的代码工作正常,让我们再添加一个如何将数组传递给元素的功能。现在,我们将实现一个程序,其中一个方法将接受一个数组并返回一个数组的反例。

示例:在 Java 中返回数组并将数组作为参数传递

在下面的程序中,我们在方法 reverseArray()中传递了一个数组,然后我们反转了一个数组,并使用 return 关键字返回它,之后,它被分配给原始数组。

public class StudyTonight  
{  
    public static void main(String args[])  
    {  
        int[] arr={17,18,19,20,21};   
        //calling reverse method to reverse an array
        arr=reverseArray(arr); 
        //printing an array
        for (int i = 0; i < arr.length; i++) 
            System.out.print( arr[i]+ " ");     
    }  
    public static int[] reverseArray(int arr[])  
    {  
        int end = arr.length - 1;
        int start = 0;
        //logic for reverse of an Array
        while (start < end)
        {
            int temp = arr[start]; 
            arr[start] = arr[end];
            arr[end] = temp;
            start++;
            end--;
        } 
        //returning an reversed array
        return arr;  
    }  
}

21 20 19 18 17

示例:从函数返回对象数组

在下面给出的程序中,我们将从一个函数返回一个对象数组。我们可以看到我们有一个类Student ,其中stud_nameroll_no 是数据成员。当我们调用getStudents()方法时,它会创建一个Student 类的数组并将其返回到Student[] arr中,之后,我们会打印每个对象的数据。

class Student
{
    String stud_name;
    int roll_no;
    //constructor for initializing data members
    Student(String stud_name, int roll_no)
    {
        this.stud_name = stud_name;
        this.roll_no = roll_no;
    }
}
public class StudyTonight  
{  
    public static void main(String args[])  
    {  
        Student[] arr = getStudents();
        //print data of each object
        for(Student obj:arr)
        {
            System.out.println("Name: "+obj.stud_name+" Roll No: "+obj.roll_no);
        }
    }  
    public static Student[] getStudents()  
    {
        Student[] arr= new Student[2];
        arr[0] = new Student("ABC",123);
        arr[1] =new Student("DEF",456);
        //return an array of objects of Student class
        return arr;         
    }  
}

名称:ABC 辊号:123 名称:DEF 辊号:456

结论

要返回一个数组,我们在函数内部使用一个 return 语句,函数的返回类型必须是Arrays类型。当我们想用 Java 方法返回一组数据时,这非常方便。