Commit Graph

86 Commits

Author SHA1 Message Date
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
ba51b62a53 use Arrays.copy or Arrays.copyOfRange where applicable
Arrays.copy is easier to use than System.arrayCopy.
2017-12-03 09:26:52 +01:00
ef5d7817b2 add clear() method 2017-12-03 09:19:13 +01:00
b7ef9d2e6f apidoc: indexOf uses binary search if list is sorted 2017-12-03 09:13:02 +01:00
63c7740fd6 rename field 'index' to 'size'
The field 'index' describes two things:
1. the index the next element will be added to
2. the size of the list

Most methods use the second meaning.
2017-12-03 09:10:03 +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
7f3d4872ae add API doc for NullPointerExceptions 2017-11-27 20:20:42 +01:00
994ce6842a documentation states that remove* methods do not release any memory 2017-11-27 20:04:39 +01:00
ecf1a62c95 do not copy array twice when inserting 2017-11-10 10:42:47 +01:00
88e0179dd5 add method removeIf 2017-11-10 10:35:51 +01:00
b50cb8fdca update to gradle 4.3.1 2017-11-10 10:09:53 +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
56779368b8 make class final
We haven't designed the class for extension.
2017-09-29 18:59:02 +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
5112fcdfa0 do not create empty array in clone 2017-09-29 17:46:00 +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
4da0726185 added todos with features that could be added 2017-09-26 20:22:52 +02:00
d00ab6533d use a static final empty array if list is empty 2017-09-26 20:10:54 +02:00
ab7d554d52 grow the array only by 50%
The old implementation grew the array by 100% with each resize.
The new implementation reduces the memory usage for, especially
for large lists.
The new algorithm is overflow-concious.
2017-09-26 19:59:50 +02:00
4a07ed14b0 update gradle to 4.2 2017-09-26 19:30:58 +02:00
f7870a15a7 add sort (ascending) method 2017-02-05 14:18:47 +01:00
a535761b46 README.md edited online with Bitbucket 2017-02-04 08:15:29 +00:00
9a365834b6 Replace license with MIT.
Apparently putting your code into public domain is not that easy,
because of law(yer)s. So I'll stick to MIT license for now. It
seems to be the easiest and most free license that is widely
recognized.
2017-02-04 09:10:28 +01:00
ef5fb80fc9 README.md edited online with Bitbucket 2017-02-04 07:50:50 +00:00
145c2152d0 Add IntList a list implementation for primitive integers. 2017-02-03 20:31:58 +01:00
d3315a80d5 add license
This software released into the public domain.
2017-02-03 20:29:45 +01:00
5b082d6069 Initial commit 2017-02-01 18:50:57 +01:00