re PR java/2040 (java.util.Hashtable(int,float) is stricter than sun's version)

Fix for PR java/2040:
	* java/util/HashMap.java (HashMap): Don't throw exception for
	loadFactor > 1. Add exception messages.
	* java/util/Hashtable.java (Hashtable): Likewise.

From-SVN: r39969
This commit is contained in:
Bryce McKinlay 2001-02-22 04:16:07 +00:00 committed by Bryce McKinlay
parent 7a6f729041
commit 810e8b5200
3 changed files with 22 additions and 20 deletions

View file

@ -60,8 +60,6 @@ import java.io.ObjectOutputStream;
* @author Jon Zeppieri
* @author Jochen Hoenicke
* @author Bryce McKinlay
* @version $Revision: 1.4 $
* @modified $Id: HashMap.java,v 1.4 2000/12/21 02:00:15 bryce Exp $
*/
public class HashMap extends AbstractMap
implements Map, Cloneable, Serializable
@ -160,14 +158,16 @@ public class HashMap extends AbstractMap
*
* @throws IllegalArgumentException if (initialCapacity < 0) ||
* (initialLoadFactor > 1.0) ||
* (initialLoadFactor <= 0.0)
*/
public HashMap(int initialCapacity, float loadFactor)
throws IllegalArgumentException
{
if (initialCapacity < 0 || loadFactor <= 0 || loadFactor > 1)
throw new IllegalArgumentException();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Initial Capacity: "
+ initialCapacity);
if (loadFactor <= 0)
throw new IllegalArgumentException("Illegal Load Factor: " + loadFactor);
buckets = new Entry[initialCapacity];
this.loadFactor = loadFactor;
this.threshold = (int) (initialCapacity * loadFactor);
@ -619,8 +619,6 @@ public class HashMap extends AbstractMap
* keys, values, or entries.
*
* @author Jon Zeppieri
* @version $Revision: 1.4 $
* @modified $Id: HashMap.java,v 1.4 2000/12/21 02:00:15 bryce Exp $
*/
class HashIterator implements Iterator
{