Commit Graph

27 Commits

Author SHA1 Message Date
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