If all returned elements are of the same type
We can return an array in Java. Below may be a Java program to demonstrate an equivalent.
// A Java program to demonstrate that a method // can return multiple values of same type by // returning an array class Test { // Returns an array such that first element // of array is a+b, and second element is a-b static int[] getSumAndSub(int a, int b) { int[] ans = new int[2]; ans[0] = a + b; ans[1] = a - b; // returning array of elements return ans; } // Driver method public static void main(String[] args) { int[] ans = getSumAndSub(100, 50); System.out.println("Sum = " + ans[0]); System.out.println("Sub = " + ans[1]); } }
Output:
Sum = 150 Sub = 50
If returned elements are of different types
We can use Pair in Java to return two values.
// Returning a pair of values from a function import javafx.util.Pair; class GfG { public static Pair<Integer, String> getTwo() { return new Pair<Integer, String>(10, "GeeksforGeeks"); } // Return multiple values from a method in Java 8 public static void main(String[] args) { Pair<Integer, String> p = getTwo(); System.out.println(p.getKey() + " " + p.getValue()); } }
If there are more than two returned values
We can encapsulate all returned types into a category then return an object of that class.
Let us have a glance at the subsequent code.
// A Java program to demonstrate that we can return // multiple values of different types by making a class // and returning an object of class. // A class that is used to store and return // three members of different types class MultiDivAdd { int mul; // To store multiplication double div; // To store division int add; // To store addition MultiDivAdd(int m, double d, int a) { mul = m; div = d; add = a; } } class Test { static MultiDivAdd getMultDivAdd(int a, int b) { // Returning multiple values of different // types by returning an object return new MultiDivAdd(a * b, (double)a / b, (a + b)); } // Driver code public static void main(String[] args) { MultiDivAdd ans = getMultDivAdd(10, 20); System.out.println("Multiplication = " + ans.mul); System.out.println("Division = " + ans.div); System.out.println("Addition = " + ans.add); } }
Output:
Multiplication = 200 Division = 0.5 Addition = 30
Returning list of Object Class
// Java program to demonstrate return of // multiple values from a function using // list Object class. import java.util.*; class GfG { public static List