Skip to content

Commit

Permalink
Release version 1.1.0 !
Browse files Browse the repository at this point in the history
  • Loading branch information
tommyettinger committed Dec 5, 2022
1 parent 598bede commit 1ef3734
Show file tree
Hide file tree
Showing 326 changed files with 6,242 additions and 940 deletions.
16 changes: 16 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
[1.1.0]
- OffsetBitSet is the main new addition in this version; it is a fairly standard bitset, so it acts like an implicitly sorted int set, but unlike typical bitsets, it allows choosing an offset where it should start permitting items.
- ObjectComparators can sort Object arrays now.
- Sets have an appendTo() method that places some or all of the String representation into a StringBuilder, with minimal allocation.
- The iterators for sets, for map entry sets, for map key sets, and for map value collections all can produce a list of the remaining items, with toList() .
- In addition to the above toList() , there is appendInto() for those iterators, which allows placing the remaining items from the iterator into any compatible collection.
- To make the iterators' new methods more useful, you can call resetIterator() on a map's entry set/key set/value collection, which sets the iterator back to the start.
- jdkgdxds depends on digital version 0.1.5 now. If you use juniper, using 0.1.7 or higher is suggested (that's what the tests use here).

[1.0.5]
- Many fixes for deques, affecting/improving removeAt(), add() with an index, iteration, and default values.
- The iterators for all lists, all deques, and for NumberedSet are all effectively ListIterators now, or share the same API. If you need a ListIterator for an ordered set or an ordered map's keys, call .order().iterator() .

[1.0.4]
- [BREAKING CHANGE] jdkgdxds now depends on funderby (version 0.0.1), a small new library that only contains primitive-based functional interfaces. This replaces the functional interfaces for primitives here. This is breaking because the package changed for the functional interfaces.

[1.0.3]
- [BREAKING CHANGE] jdkgdxds no longer depends on juniper. The one case where we still used it was in Arrangeable.rearrange(EnhancedRandom), which now takes a long seed instead.
- The simple random hash family now incorporates the current size of the map or set at the time of a resize.
Expand Down
25 changes: 13 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,18 +103,19 @@ speedup of over 3 orders of magnitude).

You have two options: Maven Central for stable releases, or JitPack to select a commit of your choice to build.

Maven Central uses the Gradle dependency `api 'com.github.tommyettinger:jdkgdxds:1.0.5'` (you can use `implementation` instead
Maven Central uses the Gradle dependency `api 'com.github.tommyettinger:jdkgdxds:1.1.0'` (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 `mavenCentral()` . Jdkgdxds has dependencies on `digital` (which provides
common math code meant for use by multiple projects) and `funderby` (Java 8 functional interfaces for primitive types). You can
increase the version for the `digital` dependency to (at the time of writing) from 0.1.0, to 0.1.4, if you change it everywhere
and add the core dependency `api "com.github.tommyettinger:digital:0.1.4"` . Funderby hasn't changed since its initial release.
common math code meant for use by multiple projects) and `funderby` (Java 8 functional interfaces for primitive types). The
version for the `digital` dependency is 0.1.5 (you can specify it manually with the core dependency
`api "com.github.tommyettinger:digital:0.1.5"`). Funderby hasn't changed since its initial release, 0.0.1 (you can specify it
manually with `implementation "com.github.tommyettinger:funderby:0.0.1:sources"`).

If you have an HTML module, add:
```
implementation "com.github.tommyettinger:funderby:0.0.1:sources"
implementation "com.github.tommyettinger:digital:0.1.4:sources"
implementation "com.github.tommyettinger:jdkgdxds:1.0.5:sources"
implementation "com.github.tommyettinger:digital:0.1.5:sources"
implementation "com.github.tommyettinger:jdkgdxds:1.1.0:sources"
```
to its
dependencies, and in its `GdxDefinition.gwt.xml` (in the HTML module), add
Expand Down Expand Up @@ -142,22 +143,22 @@ works.
The dependency (and `inherits` line) on digital is not necessary for jdkgdxds
0.2.8, but is necessary starting in 1.0.3 and later. The dependency and `inherits` line for funderby is new in 1.0.4 .
Versions 1.0.1 and 1.0.2 also depended on [juniper](https://github.com/tommyettinger/juniper) 0.0.2 ; if you intend to use the
randomized algorithms here (like shuffles), then depending on Juniper (0.1.6) might be a good idea, though it is still optional.
randomized algorithms here (like shuffles), then depending on Juniper (0.1.7) might be a good idea, though it is still optional.
The versions are expected to increase somewhat for digital as bugs are found and fixed, but a low version number isn't a bad thing
for that library -- both digital and juniper were both mostly drawn from code in this library, and were tested significantly here.
The version for funderby is expected to stay at or around 0.0.1, since it is a relatively small library and is probably complete.

You can build specific, typically brand-new commits on JitPack.
[JitPack has instructions for any recent commit you want here](https://jitpack.io/#tommyettinger/jdkgdxds/57ba8a6dd8).
[JitPack has instructions for any recent commit you want here](https://jitpack.io/#tommyettinger/jdkgdxds/598bede570).
To reiterate, you add `maven { url 'https://jitpack.io' }` to your project's `repositories` section, just **not** the one inside
`buildscript` (that just applies to the Gradle script itself, not your project). Then you can add
`implementation 'com.github.tommyettinger:jdkgdxds:57ba8a6dd8'` or `api 'com.github.tommyettinger:jdkgdxds:57ba8a6dd8'`, depending
`implementation 'com.github.tommyettinger:jdkgdxds:598bede570'` or `api 'com.github.tommyettinger:jdkgdxds:598bede570'`, depending
on what your other dependencies use, to your project or its core module (if there are multiple modules, as in a typical libGDX
project). If you have an HTML module, add:
```
implementation "com.github.tommyettinger:funderby:0.0.1:sources"
implementation "com.github.tommyettinger:digital:0.1.4:sources"
implementation "com.github.tommyettinger:jdkgdxds:57ba8a6dd8:sources"
implementation "com.github.tommyettinger:digital:0.1.5:sources"
implementation "com.github.tommyettinger:jdkgdxds:598bede570:sources"
```
to its
dependencies, and in its `GdxDefinition.gwt.xml` (in the HTML module), add
Expand All @@ -166,7 +167,7 @@ dependencies, and in its `GdxDefinition.gwt.xml` (in the HTML module), add
<inherits name="digital" />
<inherits name="jdkgdxds" />
```
in with the other `inherits` lines. `57ba8a6dd8` is an example of a recent commit, and can be
in with the other `inherits` lines. `598bede570` is an example of a recent commit, and can be
replaced with other commits shown on JitPack.

There is an optional dependency, [jdkgdxds-interop](https://github.com/tommyettinger/jdkgdxds_interop), that provides code to
Expand Down
9 changes: 8 additions & 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.0.5 API)</title>
<title>All Classes and Interfaces (jdkgdxds 1.1.0 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 Expand Up @@ -847,6 +847,13 @@ <h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces<
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/github/tommyettinger/ds/ObjectSet.ObjectSetIterator.html" title="class in com.github.tommyettinger.ds">ObjectSet.ObjectSetIterator</a>&lt;<a href="com/github/tommyettinger/ds/ObjectSet.ObjectSetIterator.html" title="type parameter in ObjectSet.ObjectSetIterator">T</a>&gt;</div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="com/github/tommyettinger/ds/OffsetBitSet.html" title="class in com.github.tommyettinger.ds">OffsetBitSet</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">A bit set, which can be seen as a set of integer positions greater than some starting number,
that has changeable offset, or starting position.</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="com/github/tommyettinger/ds/OffsetBitSet.OffsetBitSetIterator.html" title="class in com.github.tommyettinger.ds">OffsetBitSet.OffsetBitSetIterator</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="com/github/tommyettinger/ds/Ordered.html" title="interface in com.github.tommyettinger.ds">Ordered</a>&lt;<a href="com/github/tommyettinger/ds/Ordered.html" title="type parameter in Ordered">T</a>&gt;</div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Ensures that implementors allow access to the order of <code>T</code> items as an ObjectList.</div>
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.0.5 API)</title>
<title>All Packages (jdkgdxds 1.1.0 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.0.5 API)</title>
<title>Arrangeable (jdkgdxds 1.1.0 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.0.5 API)</title>
<title>BinaryHeap.HeapIterator (jdkgdxds 1.1.0 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.0.5 API)</title>
<title>BinaryHeap.Node (jdkgdxds 1.1.0 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.0.5 API)</title>
<title>BinaryHeap (jdkgdxds 1.1.0 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
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.0.5 API)</title>
<title>BooleanDeque.BooleanDequeIterator (jdkgdxds 1.1.0 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
4 changes: 2 additions & 2 deletions 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.0.5 API)</title>
<title>BooleanDeque (jdkgdxds 1.1.0 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 Expand Up @@ -90,7 +90,7 @@ <h1 title="Class BooleanDeque" class="title">Class BooleanDeque</h1>
Unlike most Deque implementations in the JDK, you can get and set items anywhere in the deque in constant time with <a href="#get(int)"><code>get(int)</code></a>
and <a href="#set(int,boolean)"><code>set(int, boolean)</code></a>. Unlike the other primitive Deques in jdkgdxds, a BooleanDeque is not sortable. This is primarily due
to how <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Arrays.html#sort(int%5B%5D,int,int)" title="class or interface in java.util" class="external-link"><code>Arrays.sort(int[], int, int)</code></a> does not implement a sort for boolean arrays, either. You can still reverse one with
<a href="#reverse()"><code>reverse()</code></a> or shuffle one with <a href="Arrangeable.html#shuffle(java.util.Random)"><code>Arrangeable.shuffle(java.util.Random)</code></a>.</div>
<a href="#reverse()"><code>reverse()</code></a> or shuffle one with <a href="Arrangeable.html#shuffle(java.util.Random)"><code>Arrangeable.shuffle(Random)</code></a>.</div>
</section>
<section class="summary">
<ul class="summary-list">
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.0.5 API)</title>
<title>BooleanList.BooleanListIterator (jdkgdxds 1.1.0 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
6 changes: 3 additions & 3 deletions 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.0.5 API)</title>
<title>BooleanList (jdkgdxds 1.1.0 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 Expand Up @@ -147,7 +147,7 @@ <h2>Constructor Summary</h2>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">BooleanList</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Creates an ordered array with a capacity of 16.</div>
<div class="block">Creates an ordered array with a capacity of 10.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(boolean%5B%5D)" class="member-name-link">BooleanList</a><wbr>(boolean[]&nbsp;array)</code></div>
<div class="col-last odd-row-color">
Expand Down Expand Up @@ -552,7 +552,7 @@ <h2>Constructor Details</h2>
<section class="detail" id="&lt;init&gt;()">
<h3>BooleanList</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">BooleanList</span>()</div>
<div class="block">Creates an ordered array with a capacity of 16.</div>
<div class="block">Creates an ordered array with a capacity of 10.</div>
</section>
</li>
<li>
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.0.5 API)</title>
<title>ByteDeque.ByteDequeIterator (jdkgdxds 1.1.0 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.0.5 API)</title>
<title>ByteDeque (jdkgdxds 1.1.0 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.0.5 API)</title>
<title>ByteList.ByteListIterator (jdkgdxds 1.1.0 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
6 changes: 3 additions & 3 deletions 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.0.5 API)</title>
<title>ByteList (jdkgdxds 1.1.0 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 Expand Up @@ -147,7 +147,7 @@ <h2>Constructor Summary</h2>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ByteList</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Creates an ordered array with a capacity of 16.</div>
<div class="block">Creates an ordered array with a capacity of 10.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(boolean,byte%5B%5D,int,int)" class="member-name-link">ByteList</a><wbr>(boolean&nbsp;ordered,
byte[]&nbsp;array,
Expand Down Expand Up @@ -582,7 +582,7 @@ <h2>Constructor Details</h2>
<section class="detail" id="&lt;init&gt;()">
<h3>ByteList</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ByteList</span>()</div>
<div class="block">Creates an ordered array with a capacity of 16.</div>
<div class="block">Creates an ordered array with a capacity of 10.</div>
</section>
</li>
<li>
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.0.5 API)</title>
<title>CaseInsensitiveMap.Entry (jdkgdxds 1.1.0 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
Loading

0 comments on commit 1ef3734

Please sign in to comment.