// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea // Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/ package graphtea.platform.lang; /** * A pair of two objects * @author Omid */ public class Pair<First, Second> { public First first; public Second second; public Pair(){ } public Pair(First f, Second s) { first = f; second = s; } public boolean equals(Object obj) { if (obj == null) return false; if (!(obj instanceof Pair)) return false; Pair t = (Pair) obj; return !(first == null && t.first != null) && !(second == null && t.second != null) && !(!first.equals(t.first) || !second.equals(t.second)); } public int hashCode() { int fh = first == null ? 0 : first.hashCode(); int lh = second == null ? 0 : second.hashCode(); return fh + 100000 * lh; } public String toString() { String fs = first == null ? "null" : first.toString(); String ss = second == null ? "null" :second.toString(); return fs + ", " + ss; } }