summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2004-04-29 22:49:50 +0000
committerMark Wielaard <mark@klomp.org>2004-04-29 22:49:50 +0000
commit4143b64609145ec6336a6943f20532830dfc42c7 (patch)
treed6d5b9ac2bd76e9adb57bcca7056895d5a404d6e
parent2e214f4154b62745fd7541bbc07c5b0579d9ad69 (diff)
downloadclasspath-4143b64609145ec6336a6943f20532830dfc42c7.tar.gz
Reported by f.haeglsperger@gmx.de [patch #2485]
* java/util/HashMap.java (rehash): Add entry at start of bucket.
-rw-r--r--ChangeLog5
-rw-r--r--java/util/HashMap.java13
2 files changed, 7 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index d83405f77..3d254550d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2004-04-29 Mark Wielaard <mark@klomp.org>
+ Reported by f.haeglsperger@gmx.de [patch #2485]
+ * java/util/HashMap.java (rehash): Add entry at start of bucket.
+
+2004-04-29 Mark Wielaard <mark@klomp.org>
+
* java/io/RandomAccessFile.java (setLength): Set position to new
length when new length is smaller then current position.
diff --git a/java/util/HashMap.java b/java/util/HashMap.java
index dc1b11230..fe4c8b060 100644
--- a/java/util/HashMap.java
+++ b/java/util/HashMap.java
@@ -743,18 +743,9 @@ public class HashMap extends AbstractMap
{
int idx = hash(e.key);
HashEntry dest = buckets[idx];
-
- if (dest != null)
- {
- while (dest.next != null)
- dest = dest.next;
- dest.next = e;
- }
- else
- buckets[idx] = e;
-
HashEntry next = e.next;
- e.next = null;
+ e.next = buckets[idx];
+ buckets[idx] = e;
e = next;
}
}