Commit Graph

38 Commits

Author SHA1 Message Date
4d92197423 fix stackoverflow in Int/LongList.intersectionUnsorted 2019-09-07 16:50:40 +02:00
86f12e0af6 Add hash map for long to long mappings. 2019-09-07 14:36:51 +02:00
506fb7b698 add new method 'uniq()' 2019-08-22 19:21:24 +02:00
ee04f21f29 removeAll is now O(n+m) if both lists are sorted 2018-11-20 19:53:33 +01:00
fef9af51cd add different versions of IntList.insert and LongList.insert
The new methods are more flexible, so that you can insert
parts of an array.
2018-09-23 15:28:37 +02:00
1d0d3e6d2b add *List.range() and *List.rangeClosed() 2018-09-08 08:48:47 +02:00
336905fafe clear() not longer frees memory it just empties the list
Use case: The list is used as a buffer, that is re-used and in
each iteration the list is cleared.

Now that clear() does not replace the data array there is no
garbage collection and we do not have to allocated one or
several new arrays in the next iteration.
You can still free the associated memory by calling clear() + trim().
2018-08-17 19:38:30 +02:00
19886eff89 update to Junit 5 2018-08-17 18:44:38 +02:00
fa0c7136a4 add LongList
It is an exact copy of IntList.
2018-01-24 19:15:19 +01:00
bd6c595856 extract inline definitions of generators, add loop for different sizes 2018-01-22 18:51:40 +01:00
7de2ac1fd3 add test for hashcode/equals with sorted and unsorted lists 2018-01-22 18:22:14 +01:00
5515523100 add simple benchmarking helper 2018-01-21 19:53:15 +01:00
ec32e3f566 unsorted lists can become sorted after removal
The old code only set the list to sorted when the lists size was <= 1
after the removal.
2017-12-20 18:59:24 +01:00
45dd73d8f3 update isSorted after shuffling
A list can be sorted after shuffling. The trivial cases are
the empty list and a list with only one element or lists 
with only identical elements. Lists with only a few elements 
have a non-negligible chance to be sorted after shuffling.
2017-12-18 20:10:27 +01:00
f3cbdda121 early exit it toString was only used if data array was empty 2017-12-16 14:34:36 +01:00
25650b9638 add lastIndexOf 2017-12-13 20:39:54 +01:00
76e5dc403c add union(IntList,IntList) and addAll(IntList)
IntPredicate gets the current value and the index.
This was handy while removing duplicate values.
2017-12-12 18:45:11 +01:00
3dd1955749 indexOf on sorted lists should return the first match 2017-12-09 15:50:55 +01:00
14181822c9 add intersection for unsorted lists
Changed the way the intersection is computed. An intersection does
not return duplicate values. So the result is like a set.
2017-12-09 15:40:22 +01:00
b56f1e6688 use sorted flag in hashcode/equals 2017-12-08 18:35:49 +01:00
29d4e49298 add shuffle method 2017-12-08 18:27:55 +01:00
c41e52f8b3 add static intersection method for sorted lists 2017-12-03 09:59:58 +01:00
ef5d7817b2 add clear() method 2017-12-03 09:19:13 +01:00
477820050b use 'sorted' flag in indexOf 2017-12-03 09:04:17 +01:00
c7cacf1ad4 add 'sorted' flag that keeps track whether the list is sorted
The flag can be used in indexOf or for a better retainAll
implementation.
2017-12-02 20:24:32 +01:00
88e0179dd5 add method removeIf 2017-11-10 10:35:51 +01:00
a59db6cfe8 add method retainAll 2017-11-10 10:03:10 +01:00
81e1d1f131 add method removeAll 2017-11-09 14:32:15 +01:00
db6ca1387d add replaceAll 2017-11-09 09:33:19 +01:00
6df2553fae add indexOf(value) and indexOf(value, offset) 2017-10-13 17:02:01 +02:00
cbe468cae8 add toArray(int[]) 2017-10-07 10:01:38 +02:00
e7d88babb4 add stream() and parallelStream()
Both methods return an IntStream.
2017-09-29 18:57:43 +02:00
fc1ca26d52 use fromIndex and toIndex for remove instead of from and length
The new API is consistent with the internal API of ArrayList.
2017-09-29 18:12:58 +02:00
235565bfe4 make IntList cloneable 2017-09-28 20:25:56 +02:00
a178086dfa make IntList serializable 2017-09-28 19:02:43 +02:00
4a762f39b9 add special implementation for add
The special implementation does not need to allocate an array for the
varargs of addAll
2017-09-28 18:22:16 +02:00
f7870a15a7 add sort (ascending) method 2017-02-05 14:18:47 +01:00
145c2152d0 Add IntList a list implementation for primitive integers. 2017-02-03 20:31:58 +01:00