You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ma...@apache.org on 2002/05/24 06:00:31 UTC
cvs commit: jakarta-commons/collections/src/java/org/apache/commons/collections SequencedHashMap.java
mas 02/05/23 21:00:30
Modified: collections/src/java/org/apache/commons/collections
SequencedHashMap.java
Log:
Implemented equals(Object) and hashCode() as per the Map interface.
Also, added a toString() method for simpler debugging.
Revision Changes Path
1.10 +41 -3 jakarta-commons/collections/src/java/org/apache/commons/collections/SequencedHashMap.java
Index: SequencedHashMap.java
===================================================================
RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/SequencedHashMap.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- SequencedHashMap.java 9 May 2002 03:20:59 -0000 1.9
+++ SequencedHashMap.java 24 May 2002 04:00:30 -0000 1.10
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/SequencedHashMap.java,v 1.9 2002/05/09 03:20:59 mas Exp $
- * $Revision: 1.9 $
- * $Date: 2002/05/09 03:20:59 $
+ * $Header: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/SequencedHashMap.java,v 1.10 2002/05/24 04:00:30 mas Exp $
+ * $Revision: 1.10 $
+ * $Date: 2002/05/24 04:00:30 $
*
* ====================================================================
*
@@ -521,6 +521,44 @@
// and the list
sentinel.next = sentinel;
sentinel.prev = sentinel;
+ }
+
+ // per Map.equals(Object)
+ public boolean equals(Object obj) {
+ if(obj == null) return false;
+ if(obj == this) return true;
+
+ if(!(obj instanceof Map)) return false;
+
+ return entrySet().equals(((Map)obj).entrySet());
+ }
+
+ // per Map.hashCode()
+ public int hashCode() {
+ return entrySet().hashCode();
+ }
+
+ /**
+ * Provides a string representation of the entries within the map. The
+ * format of the returned string may change with different releases, so this
+ * method is suitable for debugging purposes only. If a specific format is
+ * required, use {@link #entrySet()}.{@link Set#iterator() iterator()} and
+ * iterate over the entries in the map formatting them as appropriate.
+ **/
+ public String toString() {
+ StringBuffer buf = new StringBuffer();
+ buf.append('[');
+ for(Entry pos = sentinel.next; pos != sentinel; pos = pos.next) {
+ buf.append(pos.getKey());
+ buf.append('=');
+ buf.append(pos.getValue());
+ if(pos.next != sentinel) {
+ buf.append(',');
+ }
+ }
+ buf.append(']');
+
+ return buf.toString();
}
// per Map.keySet()
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>