Skip to content

Commit

Permalink
Release 1.6.2 !
Browse files Browse the repository at this point in the history
  • Loading branch information
tommyettinger committed Jul 10, 2024
1 parent 45ad4ab commit e7ea2ab
Show file tree
Hide file tree
Showing 371 changed files with 756 additions and 772 deletions.
3 changes: 3 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[1.6.2]
- [BREAKING] Because using BitConversion.imul() didn't benchmark as having any speed penalty, but there were potentially-significant collision issues with small hashCode()s and smaller GWT-friendly multipliers, the Utilities.GOOD_MULTIPLIERS table now stores 32-bit ints instead of 21-bit ones. Again.

[1.6.1]
- [SEED BREAKING] Utilities.hashCodeIgnoreCase() returns different results in this version than in the previous version, with the same seed. This has to do with the next bullet point.
- Utilities.GOOD_MULTIPLIERS now holds only smaller ints, which allows place() to avoid calling imul() entirely. This may have some speed implication on any platform, but most likely a small one.
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ You have two options: Maven Central for stable releases, or JitPack to select a

Maven Central uses the Gradle dependency:
```
api 'com.github.tommyettinger:jdkgdxds:1.6.1'
api 'com.github.tommyettinger:jdkgdxds:1.6.2'
```
You can use `implementation` instead of `api` if you don't use the `java-library` plugin.
It does not need any additional repository to be specified in most cases; if it can't be found, you may need the repository
Expand All @@ -167,7 +167,7 @@ If you have an HTML module, add:
```
implementation "com.github.tommyettinger:funderby:0.1.2:sources"
implementation "com.github.tommyettinger:digital:0.4.8:sources"
implementation "com.github.tommyettinger:jdkgdxds:1.6.1:sources"
implementation "com.github.tommyettinger:jdkgdxds:1.6.2:sources"
```
to its
dependencies, and in its `GdxDefinition.gwt.xml` (in the HTML module), add
Expand All @@ -177,7 +177,7 @@ dependencies, and in its `GdxDefinition.gwt.xml` (in the HTML module), add
<inherits name="com.github.tommyettinger.jdkgdxds" />
```
in with the other `inherits` lines. You shouldn't need to specify checker-qual in GWT dependencies.
Using jdkgdxds 1.6.0 or later is strongly encouraged for GWT applications for performance reasons.
Using jdkgdxds 1.6.2 or later is strongly encouraged for GWT applications for performance reasons.

If you have an Android module, you may need to ensure that multi-dex and desugaring are enabled. Projects generated with
gdx-liftoff that target Java 8 or higher have this already, but projects made with gdx-setup or manually do not.
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/allclasses-index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>All Classes and Interfaces (jdkgdxds 1.6.1 API)</title>
<title>All Classes and Interfaces (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="class index">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/allpackages-index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>All Packages (jdkgdxds 1.6.1 API)</title>
<title>All Packages (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="package index">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/Arrangeable.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Arrangeable (jdkgdxds 1.6.1 API)</title>
<title>Arrangeable (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, interface: Arrangeable">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BinaryHeap.HeapIterator (jdkgdxds 1.6.1 API)</title>
<title>BinaryHeap.HeapIterator (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BinaryHeap, class: HeapIterator">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BinaryHeap.Node (jdkgdxds 1.6.1 API)</title>
<title>BinaryHeap.Node (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BinaryHeap, class: Node">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/BinaryHeap.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BinaryHeap (jdkgdxds 1.6.1 API)</title>
<title>BinaryHeap (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BinaryHeap">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/BooleanBag.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BooleanBag (jdkgdxds 1.6.1 API)</title>
<title>BooleanBag (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BooleanBag">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BooleanDeque.BooleanDequeIterator (jdkgdxds 1.6.1 API)</title>
<title>BooleanDeque.BooleanDequeIterator (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BooleanDeque, class: BooleanDequeIterator">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/BooleanDeque.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BooleanDeque (jdkgdxds 1.6.1 API)</title>
<title>BooleanDeque (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BooleanDeque">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BooleanList.BooleanListIterator (jdkgdxds 1.6.1 API)</title>
<title>BooleanList.BooleanListIterator (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BooleanList, class: BooleanListIterator">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/BooleanList.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>BooleanList (jdkgdxds 1.6.1 API)</title>
<title>BooleanList (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: BooleanList">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/ByteBag.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ByteBag (jdkgdxds 1.6.1 API)</title>
<title>ByteBag (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: ByteBag">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ByteDeque.ByteDequeIterator (jdkgdxds 1.6.1 API)</title>
<title>ByteDeque.ByteDequeIterator (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: ByteDeque, class: ByteDequeIterator">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/ByteDeque.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ByteDeque (jdkgdxds 1.6.1 API)</title>
<title>ByteDeque (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: ByteDeque">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ByteList.ByteListIterator (jdkgdxds 1.6.1 API)</title>
<title>ByteList.ByteListIterator (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: ByteList, class: ByteListIterator">
Expand Down
2 changes: 1 addition & 1 deletion docs/apidocs/com/github/tommyettinger/ds/ByteList.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ByteList (jdkgdxds 1.6.1 API)</title>
<title>ByteList (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: ByteList">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>CaseInsensitiveMap.CaseInsensitiveKeys (jdkgdxds 1.6.1 API)</title>
<title>CaseInsensitiveMap.CaseInsensitiveKeys (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: CaseInsensitiveMap, class: CaseInsensitiveKeys">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>CaseInsensitiveMap.Entry (jdkgdxds 1.6.1 API)</title>
<title>CaseInsensitiveMap.Entry (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: CaseInsensitiveMap, class: Entry">
Expand Down
14 changes: 7 additions & 7 deletions docs/apidocs/com/github/tommyettinger/ds/CaseInsensitiveMap.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>CaseInsensitiveMap (jdkgdxds 1.6.1 API)</title>
<title>CaseInsensitiveMap (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: CaseInsensitiveMap">
Expand Down Expand Up @@ -208,7 +208,7 @@ <h2>Method Summary</h2>
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> view of the keys contained in this map.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#place(java.lang.Object)" class="member-name-link">place</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#place(java.lang.Object)" class="member-name-link">place</a><wbr>(@NonNull <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns an index &gt;= 0 and &lt;= <a href="ObjectObjectMap.html#mask"><code>ObjectObjectMap.mask</code></a> for the specified <code>item</code>, mixed.</div>
</div>
Expand Down Expand Up @@ -345,14 +345,14 @@ <h2>Method Details</h2>
<li>
<section class="detail" id="place(java.lang.Object)">
<h3>place</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">place</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</span></div>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">place</span><wbr><span class="parameters">(@NonNull <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="ObjectObjectMap.html#place(java.lang.Object)">ObjectObjectMap</a></code></span></div>
<div class="block">Returns an index &gt;= 0 and &lt;= <a href="ObjectObjectMap.html#mask"><code>ObjectObjectMap.mask</code></a> for the specified <code>item</code>, mixed.
<p>
The default behavior uses a basic hash mixing family; it gets the
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link"><code>Object.hashCode()</code></a> of <code>item</code>, does some no-op bitwise math to satisfy GWT,
multiplies that by the current <a href="ObjectObjectMap.html#hashMultiplier"><code>ObjectObjectMap.hashMultiplier</code></a>, and makes an unsigned right shift
by <a href="ObjectObjectMap.html#shift"><code>ObjectObjectMap.shift</code></a> before returning. Because the hashMultiplier changes every time the backing
The default behavior uses a basic hash mixing family; it simply gets the
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link"><code>Object.hashCode()</code></a> of <code>item</code>, multiplies it by the current
<a href="ObjectObjectMap.html#hashMultiplier"><code>ObjectObjectMap.hashMultiplier</code></a>, and makes an unsigned right shift by <a href="ObjectObjectMap.html#shift"><code>ObjectObjectMap.shift</code></a> before
casting to int and returning. Because the hashMultiplier changes every time the backing
table resizes, if a problematic sequence of keys piles up with many collisions, that won't
continue to cause problems when the next resize changes the hashMultiplier again. This
doesn't have much way of preventing trouble from hashCode() implementations that always
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>CaseInsensitiveOrderedMap.CaseInsensitiveKeys (jdkgdxds 1.6.1 API)</title>
<title>CaseInsensitiveOrderedMap.CaseInsensitiveKeys (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: CaseInsensitiveOrderedMap, class: CaseInsensitiveKeys">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>CaseInsensitiveOrderedMap (jdkgdxds 1.6.1 API)</title>
<title>CaseInsensitiveOrderedMap (jdkgdxds 1.6.2 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: com.github.tommyettinger.ds, class: CaseInsensitiveOrderedMap">
Expand Down Expand Up @@ -229,7 +229,7 @@ <h2>Method Summary</h2>
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> view of the keys contained in this map.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#place(java.lang.Object)" class="member-name-link">place</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#place(java.lang.Object)" class="member-name-link">place</a><wbr>(@NonNull <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns an index &gt;= 0 and &lt;= <a href="ObjectObjectMap.html#mask"><code>ObjectObjectMap.mask</code></a> for the specified <code>item</code>, mixed.</div>
</div>
Expand Down Expand Up @@ -391,14 +391,14 @@ <h2>Method Details</h2>
<li>
<section class="detail" id="place(java.lang.Object)">
<h3>place</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">place</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</span></div>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">place</span><wbr><span class="parameters">(@NonNull <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;item)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="ObjectObjectMap.html#place(java.lang.Object)">ObjectObjectMap</a></code></span></div>
<div class="block">Returns an index &gt;= 0 and &lt;= <a href="ObjectObjectMap.html#mask"><code>ObjectObjectMap.mask</code></a> for the specified <code>item</code>, mixed.
<p>
The default behavior uses a basic hash mixing family; it gets the
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link"><code>Object.hashCode()</code></a> of <code>item</code>, does some no-op bitwise math to satisfy GWT,
multiplies that by the current <a href="ObjectObjectMap.html#hashMultiplier"><code>ObjectObjectMap.hashMultiplier</code></a>, and makes an unsigned right shift
by <a href="ObjectObjectMap.html#shift"><code>ObjectObjectMap.shift</code></a> before returning. Because the hashMultiplier changes every time the backing
The default behavior uses a basic hash mixing family; it simply gets the
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link"><code>Object.hashCode()</code></a> of <code>item</code>, multiplies it by the current
<a href="ObjectObjectMap.html#hashMultiplier"><code>ObjectObjectMap.hashMultiplier</code></a>, and makes an unsigned right shift by <a href="ObjectObjectMap.html#shift"><code>ObjectObjectMap.shift</code></a> before
casting to int and returning. Because the hashMultiplier changes every time the backing
table resizes, if a problematic sequence of keys piles up with many collisions, that won't
continue to cause problems when the next resize changes the hashMultiplier again. This
doesn't have much way of preventing trouble from hashCode() implementations that always
Expand Down
Loading

0 comments on commit e7ea2ab

Please sign in to comment.