Modify the generic Pair.java class in two ways: Make it so that both values have the same type Add a method swap that swaps the first and second elements of the pair Examples: Pair intPair = new Pair<>(17, 19); intPair.getFirst(); // returns 17 intPair.getSecond(); // returns 19 intPair.swap(); intPair.getFirst(); // returns 19 intPair.getSecond(); // returns 17 Pair strPair = new Pair<>("Erick", "Valdez"); strPair.getFirst(); // returns "Erick" strPair.getSecond(); // returns "Valdez" strPair.swap(); strPair.getFirst(); // returns "Valdez" strPair.getSecond(); // returns "Erick" Pair.java /** * This class collects a pair of elements of different types. */ public class Pair { private T first; private S second; /** * Constructs a pair containing two given elements. * * @param firstElement the first element * @param secondElement the second element */ public Pair(T firstElement, S secondElement) { first = firstElement; second = secondElement; } /** * Gets the first element of this pair. * * @return the first element */ public T getFirst() { return first; } /** * Gets the second element of this pair. * * @return the second element */ public S getSecond() { return second; } public String toString() { return "(" + first + ", " + second + ")"; } }
Modify the generic Pair.java class in two ways:
- Make it so that both values have the same type
- Add a method swap that swaps the first and second elements of the pair
Examples:
Pair<Integer> intPair = new Pair<>(17, 19);
intPair.getFirst(); // returns 17
intPair.getSecond(); // returns 19
intPair.swap();
intPair.getFirst(); // returns 19
intPair.getSecond(); // returns 17
Pair<String> strPair = new Pair<>("Erick", "Valdez");
strPair.getFirst(); // returns "Erick"
strPair.getSecond(); // returns "Valdez"
strPair.swap();
strPair.getFirst(); // returns "Valdez"
strPair.getSecond(); // returns "Erick"
Pair.java
/**
* This class collects a pair of elements of different types.
*/
public class Pair<T, S> {
private T first;
private S second;
/**
* Constructs a pair containing two given elements.
*
* @param firstElement the first element
* @param secondElement the second element
*/
public Pair(T firstElement, S secondElement) {
first = firstElement;
second = secondElement;
}
/**
* Gets the first element of this pair.
*
* @return the first element
*/
public T getFirst() {
return first;
}
/**
* Gets the second element of this pair.
*
* @return the second element
*/
public S getSecond() {
return second;
}
public String toString() {
return "(" + first + ", " + second + ")";
}
}

Step by step
Solved in 3 steps with 1 images









