From 0cc03210d5d53d12604688f294b6ca39e3a025de Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 20 Jun 2015 09:35:26 -0700 Subject: altoslib/altosuilib: Fix equals methods, add hashCode Whenever we use a class as a HashMap key, that class needs to override the equals(Object) and hashCode() methods. Otherwise, the hash table won't work right. Signed-off-by: Keith Packard --- altoslib/AltosFrequency.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'altoslib/AltosFrequency.java') diff --git a/altoslib/AltosFrequency.java b/altoslib/AltosFrequency.java index 15ace0c2..6d42fd69 100644 --- a/altoslib/AltosFrequency.java +++ b/altoslib/AltosFrequency.java @@ -21,6 +21,19 @@ public class AltosFrequency { public double frequency; public String description; + public int hashCode() { + return new Double(frequency).hashCode(); + } + + public boolean equals(Object o) { + if (o == null) + return false; + if (!(o instanceof AltosFrequency)) + return false; + AltosFrequency other = (AltosFrequency) o; + return other.frequency == frequency; + } + public String toString() { return String.format("%7.3f MHz %-20s", frequency, description); -- cgit v1.2.3