EN
Java - create generic pair (tuples, point)
1 points
Quick solution:
xxxxxxxxxx
1
public class Pair<A, B> {
2
private final A a;
3
private final B b;
4
5
public Pair(A a, B b) {
6
this.a = a;
7
this.b = b;
8
}
9
10
public A getA() {
11
return a;
12
}
13
14
public B getB() {
15
return b;
16
}
17
18
19
public String toString() {
20
return "Pair{" +
21
"a=" + a +
22
", b=" + b +
23
'}';
24
}
25
26
public static void main(String[] args) {
27
{
28
Pair<String, String> pair = new Pair<>("A", "B");
29
String a = pair.getA();
30
String b = pair.getB();
31
System.out.println(pair); // Pair{a=A, b=B}
32
}
33
34
{
35
Pair<Double, Double> pair = new Pair<>(0.2, 3.14);
36
Double a = pair.getA();
37
Double b = pair.getB();
38
System.out.println(pair); // Pair{a=0.2, b=3.14}
39
}
40
41
{
42
Pair<Integer, Integer> pair = new Pair<>(10, 25);
43
Integer a = pair.getA();
44
Integer b = pair.getB();
45
System.out.println(pair); // Pair{a=10, b=25}
46
}
47
48
{
49
Pair<Pair<Integer, Integer>, Pair<String, String>> pair
50
= new Pair<>(new Pair<>(10, 25), new Pair<>("A", "B"));
51
Pair<Integer, Integer> a = pair.getA();
52
Pair<String, String> b = pair.getB();
53
System.out.println(pair); // Pair{a=Pair{a=10, b=25}, b=Pair{a=A, b=B}}
54
}
55
}
56
}
Output:
xxxxxxxxxx
1
Pair{a=A, b=B}
2
Pair{a=0.2, b=3.14}
3
Pair{a=10, b=25}
4
Pair{a=Pair{a=10, b=25}, b=Pair{a=A, b=B}}