Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/math/IJKey.java @ 1080:01e26528bb39
Some code refactoring for the implementation of histograms using vectorial parameters.
gnv-artifacts/trunk@1182 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 09 Jun 2010 09:37:57 +0000 |
parents | d766fe2d917a |
children | f953c9a559d8 |
line wrap: on
line source
package de.intevation.gnv.math; import java.io.Serializable; /** * Tuple (i, j) to model a pair of integers. Useful to store index pairs * in maps. * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public class IJKey implements Serializable { /** * i component of the tuple. */ public int i; /** * j component of the tuple. */ public int j; /** * Default constructor. */ public IJKey() { } /** * Constructor to set i and j. * @param i The i component. * @param j The j component. */ public IJKey(int i, int j) { this.i = i; this.j = j; } /** * Orders i and j by their values. */ public void sort() { if (i > j) { int t = i; i = j; j = t; } } /** * Hashes i and j into a common value. * @return the hash code. */ @Override public int hashCode() { return (i << 16) | j; } /** * IJKeys are considered equal if the i and j components * are equal. * @param obj The other IJKey * @return true if the IJKeys are equal else false. */ @Override public boolean equals(Object obj) { if (!(obj instanceof IJKey)) { return false; } IJKey other = (IJKey)obj; return i == other.i && j == other.j; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :