Created
August 22, 2011 19:36
-
-
Save rkroll/1163305 to your computer and use it in GitHub Desktop.
A tuple impl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package adt.reflexam.common.collect; | |
public class Tuple<V1, V2> { | |
public static <V1, V2> Tuple<V1, V2> tuple(V1 v1, V2 v2) { | |
return new Tuple<V1, V2>(v1, v2); | |
} | |
private final V1 v1; | |
private final V2 v2; | |
public Tuple(V1 v1, V2 v2) { | |
this.v1 = v1; | |
this.v2 = v2; | |
} | |
public V1 v1() { | |
return v1; | |
} | |
public V2 v2() { | |
return v2; | |
} | |
@Override public boolean equals(Object o) { | |
if (this == o) return true; | |
if (o == null || getClass() != o.getClass()) return false; | |
@SuppressWarnings("rawtypes") | |
Tuple tuple = (Tuple) o; | |
if (v1 != null ? !v1.equals(tuple.v1) : tuple.v1 != null) return false; | |
if (v2 != null ? !v2.equals(tuple.v2) : tuple.v2 != null) return false; | |
return true; | |
} | |
@Override public int hashCode() { | |
int result = v1 != null ? v1.hashCode() : 0; | |
result = 31 * result + (v2 != null ? v2.hashCode() : 0); | |
return result; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment