Filipp Zhinkin
368f21461c
KT-55091 Optimize Sequence::toSet/toList implementation
...
Sequence::toSet and Sequence::toList both create a
collection, fill it with elements, and then try to optimize a result
by returning empty, singleton, or the allocated collection depending on
the elements count.
Instead of allocating the collection and then trying to return
an optimized instance it is worth checking the sequence's size
beforehand and return empty/singleton collection when possible.
Proposed change optimize performance of aforementioned functions and
also reduce allocation rate when a sequence consists of 0 or 1 elements.
^KT-55091 fixed
2023-04-17 08:58:20 +00:00
Alexander Udalov
168d8b07a8
Minor, fix warnings on new stdlib API
...
In modules where allWarningsAsErrors is not yet enabled.
2021-04-15 18:39:06 +02:00
Abduqodiri Qurbonzoda
ff5b2404af
Introduce firstNotNullOf and firstNotNullOfOrNull #KT-12109
2021-03-12 09:27:14 +03:00
Abduqodiri Qurbonzoda
1314adb6f7
Locale-agnostic case conversions by default #KT-43023
2020-12-30 10:08:25 +03:00
Ilya Gorbunov
130987fa1e
Provide flatMapIndexed operation
...
- similar to flatMap, but transform function takes index and element
#KT-36894
2020-06-19 17:55:15 +03:00
Ilya Gorbunov
bdd53ee9cd
Introduce new overloads of flatMap and flatMapTo
...
- Sequence<T>.flatMap((T) -> Iterable<R>)
- Iterable<T>.flatMap((T) -> Sequence<R>)
- Array<T>.flatMap((T) -> Sequence<R>)
- Map.flatMap((Entry) -> Sequence<R>)
KT-34506
2020-06-02 19:01:43 +03:00
Ilya Gorbunov
893021f22b
Introduce runningFold and runningReduce operations
...
runningFold is a synonym for scan,
runningReduce replaces scanReduce.
#KT-38060
2020-04-15 23:28:07 +03:00
Abduqodiri Qurbonzoda
4a7b1b210a
Add onEachIndexed similar to forEachIndexed #KT-37161
2020-04-11 03:47:47 +03:00
Ilya Gorbunov
e58f1c8932
Introduce Sequence.shuffled
...
#KT-37751
2020-04-10 10:59:40 +03:00
Abduqodiri Qurbonzoda
b1fac4e721
Implement reduceIndexedOrNull and reduceRightIndexedOrNull #KT-36866
2020-03-12 18:08:55 +03:00
Abduqodiri Qurbonzoda
ed7b8e9b85
Scan functions for Sequences and Iterable #KT-7657
2020-02-13 04:01:47 +03:00
Alfredo Delli Bovi
f5d696d3c4
KT-33761 Add reduceOrNull
2019-12-26 19:27:46 +03:00
Abduqodiri Qurbonzoda
e54b405fe4
Fix Iterable, Sequence and String index overflow in windowed
2019-10-09 19:48:39 +03:00
Abduqodiri Qurbonzoda
d66f07a84e
CollectionsKt.windowed throws IllegalArgumentException
2019-09-20 00:50:54 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
Alexander Udalov
55c8b35eee
Remove unneeded default imports in stdlib and tests
2018-10-01 13:39:02 +02:00
Ilya Gorbunov
6786b9ece2
Stdlib tests: cleanup warnings
2018-09-14 15:32:08 +03:00
Ilya Gorbunov
f367322084
Introduce associateWith and associateWithTo functions
...
#KT-13814
2018-08-30 14:58:14 +03:00
Ilya Gorbunov
c44f62a3d4
Allow dropping and taking a lot of elements in very long sequences
...
For example allow dropping and taking Int.MAX_VALUE elements from
a sequence that is a result of another Int.MAX_VALUE dropping.
2018-08-30 14:57:03 +03:00
Toshiaki Kameyama
c4b785de36
Add Sequence.orEmpty #KT-16552 Fixed
2018-08-30 14:50:54 +03:00
Ilya Gorbunov
ecf0d7ec0d
Reformat stdlib tests and samples
...
#KT-5558
2018-04-27 05:28:57 +03:00
Ilya Gorbunov
e21c235bbb
Add or update copyrights in the standard library sources
2018-04-26 21:57:50 +03:00
Ilya Gorbunov
20b122c1dd
Use kotlin.test.Test instead of org.junit.Test in common stdlib tests
...
(and in jvm-only and js-only tests also)
2017-10-15 17:40:53 +03:00
Ilya Gorbunov
559255f38e
windowed function: add default parameters, drop or keep partial windows, KEEP-11
...
Make step default to 1.
Add partialWindows boolean parameter defaulting to false to control
whether to keep partial windows in the end.
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
c04b0072af
Rename pairwise to zipWithNext, KEEP-11
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
18c7a01ab5
Add tests for windowed and chunked, fix precondition checks
2017-10-11 19:20:24 +03:00
Ilya Gorbunov
c815ccfd6a
Introduce 'pairwise' function, KEEP-11
2017-10-11 19:20:24 +03:00
Ilya Chernikov
628927782a
Fix tests in the gradle environment
2017-09-19 21:37:09 +02:00
Ilya Gorbunov
6ae19e03d5
Clean warnings and refactor stdlib tests.
...
Merge RangeJVMTest into RangeTest.
2017-04-18 18:51:20 +03:00
Ilya Gorbunov
dc57d69085
Improve onEach templates.
...
Add new functions to reference API.
Add tests for onEach
#KT-8220
2016-11-30 16:46:56 +03:00
Ilya Gorbunov
6a70761783
Minor: normalize '@Test' annotation casing in all tests.
2016-11-21 18:20:33 +03:00
Ilya Gorbunov
50cd620f92
Remove java.util.* imports from common code.
2016-11-21 18:20:33 +03:00
Ilya Gorbunov
4b533b297e
reified assertFailsWith available in kotlin-test for JS
...
#KT-11346
2016-04-27 18:22:20 +03:00
Ilya Gorbunov
24edbc36df
Create at most one wrapper sequence for adjacent drop/take operations on sequences.
...
Based on PR #814 by Sargun Vohra
#KT-10821 Fixed
2016-02-14 16:46:46 +03:00
Ilya Gorbunov
7896e58afc
Rename sequence function to generateSequence
2016-01-22 01:13:31 +03:00
Ilya Gorbunov
67ef790abc
Move comparison related functions to kotlin.comparisons, update imports in stdlib.
2016-01-18 21:46:31 +03:00
Ilya Gorbunov
ca4bdd23e0
Provide flatten for sequence of iterables.
...
#KT-9977
2015-11-26 00:45:15 +03:00
Ilya Gorbunov
4181142400
Deprecate sequenceOf(Progression).
2015-11-26 00:45:15 +03:00
Ilya Gorbunov
8440c196d1
GeneratorSequence: do not get first value, until it's requested by iterator, allow initialValue to be null and return EmptySequence in this case.
...
#KT-9153 Fixed
2015-11-26 00:45:15 +03:00
Ilya Gorbunov
07654eb82b
StdLib cleanup, deprecated symbol usage: size() and length()
2015-11-21 00:54:05 +03:00
Ilya Gorbunov
9323f61eaf
Introduce T.addTo(MutableCollection<T>), mapNotNull and mapIndexedNotNull extensions.
...
#KT-4410 Fixed
2015-11-11 03:12:17 +03:00
Ilya Gorbunov
008a8059cf
Introduce filterIndexed
...
#KT-9502 Fixed
2015-11-11 02:42:52 +03:00
Ilya Gorbunov
65a98d6968
Temporary drop mapNotNull and mapNotNullTo.
...
Disable mapNotNull tests
#KT-4410
2015-11-04 00:05:45 +03:00
Ilya Gorbunov
6d2f9cc669
Remove obsolete iterator tests
2015-10-13 22:31:15 +03:00
Ilya Gorbunov
db93532e7c
Deprecate merge and introduce instead zip with transform.
...
Add zip with transform for Strings.
2015-10-08 17:48:35 +03:00
Ilya Gorbunov
404b228954
StdLib cleanup: replace fails with assertFails
2015-10-07 22:36:06 +03:00
Denis Zharkov
5cecaa6f87
Get rid of deprecated annotations and modifiers in stdlib (besides JS)
2015-09-18 10:14:28 +03:00
Ilya Gorbunov
84d3d42e05
Replace deprecated reverse method usages.
2015-08-27 11:45:44 +03:00
Ilya Gorbunov
521e0b679d
Rename sortedDescendingBy to sortedByDescending
2015-08-27 00:08:50 +03:00
Ilya Gorbunov
002c3e850f
Tests for sorting methods.
2015-08-27 00:08:37 +03:00