SCViewer/com.itjw.txviewer.graph/src/com/itjw/txviewer/graph/util/Pair.java

57 lines
1.4 KiB
Java
Raw Normal View History

2012-06-17 19:53:05 +02:00
package com.itjw.txviewer.graph.util;
public class Pair<A, B> {
private A first;
private B second;
public Pair(A first, B second) {
super();
this.first = first;
this.second = second;
}
public int hashCode() {
int hashFirst = first != null ? first.hashCode() : 0;
int hashSecond = second != null ? second.hashCode() : 0;
return (hashFirst + hashSecond) * hashSecond + hashFirst;
}
@SuppressWarnings("unchecked")
public boolean equals(Object other) {
if (other instanceof Pair<?, ?>) {
Pair<A, B> otherPair = (Pair<A, B>)other;
return
(( this.first == otherPair.first ||
( this.first != null && otherPair.first != null &&
this.first.equals(otherPair.first))) &&
( this.second == otherPair.second ||
( this.second != null && otherPair.second != null &&
this.second.equals(otherPair.second))) );
}
return false;
}
public String toString()
{
return "(" + first + ", " + second + ")";
}
public A getFirst() {
return first;
}
public void setFirst(A first) {
this.first = first;
}
public B getSecond() {
return second;
}
public void setSecond(B second) {
this.second = second;
}
}