Open In App

Creating a User-Defined Printable Pair Class in Java

Last Updated : 16 Nov, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

The pair class in C++ Standard Library is used a lot.  We can implement our own user-defined pair class in Java and its object can be used anywhere just like any other parameter.

Note : 

This class is equivalent to pair<int,int> class in java. You can create your own template or classes for other data types.

Syntax For defining the pair class can be:

class pair{
   int first,second;
   
   // constructor for assigning values
   pair(int first,int second){
       this.first = first;
       this.second = second;
   }
   
   // function which returns a
   pair values(){
       return new pair(first,second);
   }
   
   // printing the pair class
   @Override
   public String toString(){
       return "("+first+","+second+")";
   }
}
  • We can now play around with this class and even create an array of pairs, similar to the vector<pair<int,int>> in C++.

Example:

Java




// Java program to create a pair class
// and initialize an array of that
// pair class object
 
public class pair_example {
    public static void main(String[] args)
    {
        pair[] arr = new pair[5];
        for (int i = 0; i < 5; i++) {
            arr[i] = new pair(i + 1, i + 2);
        }
       
        // printing an array of pairs easily
        for (pair i : arr) {
            System.out.println(i);
        }
       
        // to extract particular values
        int value = arr[3].second;
        System.out.println("Required Value = " + value);
    }
}
 
// user defined pair class of integer type
class pair {
    int first, second;
   
    // constructor for assigning values
    pair(int first, int second)
    {
        this.first = first;
        this.second = second;
    }
   
    // function which returns a pair
    pair values() { return new pair(first, second); }
   
    // printing the pair class
    @Override public String toString()
    {
        return first + "," + second;
    }
}


 
 

Output

1,2
2,3
3,4
4,5
5,6
Required Value = 5

 

Implementation Example:

 

Suppose we need to store the ith prime number and its index together in a structure.

 

Java




// Java program to create a struct/pair class
// for storing a prime number with its index
 
class GFG {
    public static void main(String[] args)
    {
        // first N prime numbers
        int N = 30;
 
        // creating list of pairs
        java.util.ArrayList<pair> p = new java.util.ArrayList<>();
       
        int index = 1;
        for (int i = 1; i <= N; i++) {
            if (isPrime(i)) {
               
                // creating new pair object and appending to
                // list
                p.add(new pair(index++, i));
            }
        }
       
        System.out.println("i and the ith prime numbers are :");
        System.out.println(p);
    }
   
    // function to check prime
    static boolean isPrime(int n)
    {
        if (n < 2)
            return false;
        for (int i = 2; i * i <= n; i++) {
            if (n % i == 0)
                return false;
        }
        return true;
    }
}
 
// user defined pair class of integer type
class pair {
    int first, second;
 
    // constructor for assigning values
    pair(int first, int second)
    {
        this.first = first;
        this.second = second;
    }
   
    // function which returns a pair
    pair values() { return new pair(first, second); }
   
    // printing the pair class
    @Override public String toString()
    {
        return "(" + first + "," + second + ")";
    }
}


 
 

Output

i and the ith prime numbers are :
[(1,2), (2,3), (3,5), (4,7), (5,11), (6,13), (7,17), (8,19), (9,23), (10,29)]

 



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads