TupleTwo.java 895 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package opennlp.tools.svm.data.utils;
  2. /**
  3. * Created by xschen on 4/5/2017.
  4. */
  5. public class TupleTwo<T, T2> {
  6. private final T v1;
  7. private final T2 v2;
  8. public TupleTwo(T v1, T2 v2) {
  9. this.v1 = v1;
  10. this.v2 = v2;
  11. }
  12. public T _1(){
  13. return v1;
  14. }
  15. public T2 _2(){
  16. return v2;
  17. }
  18. @Override public boolean equals(Object o) {
  19. if (this == o)
  20. return true;
  21. if (o == null || getClass() != o.getClass())
  22. return false;
  23. TupleTwo<?, ?> tupleTwo = (TupleTwo<?, ?>) o;
  24. if (v1 != null ? !v1.equals(tupleTwo.v1) : tupleTwo.v1 != null)
  25. return false;
  26. return v2 != null ? v2.equals(tupleTwo.v2) : tupleTwo.v2 == null;
  27. }
  28. @Override public int hashCode() {
  29. int result = v1 != null ? v1.hashCode() : 0;
  30. result = 31 * result + (v2 != null ? v2.hashCode() : 0);
  31. return result;
  32. }
  33. }