How to Return an Array in Java

In this article, we will learn about how to return an Array in Java. At the end of this tutorial, you will learn how to pass an array in Java Methods, How to perform an operation on them inside the method, and finally How to return an Array from the Java Methods.

Program to Return Array In Java

In a program given below, we created a method public static int[] getArray() which will return an array arr that assigned to arr which is declared in the method calling statement int[] arr = getArray(); and finally, the array will be printed. To return an array return type of function must be an array-type.

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

As the above code works correctly, let's add one more functionality of how to pass an array to an element. Now, we will implement a program where a method will accept an array and return a reverse of an array.

Example: Return Array In Java and Passing Array as an Argument

In the below program, we passed an Array inside the method reverseArray() then we reversed an array and returned it using the return keyword and after that, it is assigned to the original array.

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

Example: Returning an array of objects from a function

In the program given below, we will return an array of objects from a function. We can see we have a class Student in which stud_name and roll_no are data members. When we are calling getStudents() method, it will create an array of Student class and return it to the Student[] arr after that, we are printing the data for each object.

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;		 
	}  
}  


Name: ABC Roll No: 123
Name: DEF Roll No: 456

Conclusion

To return an array we use a return statement inside the function and the return type of a function must be of an array type. It is very handy when we want to return a group of data in Java Methods.