All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.psjava.util.Triple Maven / Gradle / Ivy

package org.psjava.util;

import org.psjava.algo.math.PairHash;

public class Triple implements EqualityTester> {

	public static  Triple create(T1 v1, T2 v2, T3 v3) {
		return new Triple(v1, v2, v3);
	}

	public final T1 v1;
	public final T2 v2;
	public final T3 v3;

	public Triple(T1 v1, T2 v2, T3 v3) {
		this.v1 = v1;
		this.v2 = v2;
		this.v3 = v3;
	}

	@Override
	public boolean equals(Object obj) {
		return StrictEqualityTester.areEqual(this, obj, this);
	}

	@Override
	public boolean areEqual(Triple o1, Triple o2) {
		return o1.v1.equals(o2.v1) && o1.v2.equals(o2.v2) && o1.v3.equals(o2.v3);
	}

	@Override
	public int hashCode() {
		return PairHash.hash(PairHash.hash(v1.hashCode(), v2.hashCode()), v3.hashCode());
	}

	@Override
	public String toString() {
		return "(" + v1 + "," + v2 + "," + v3 + ")";
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy