compareSize(xs)I'd likely use in other ways.
xs.lengthIs < 0thing because the name suggests the usage without having to consult an API.
(the distinction being that size is not meant to imply a consistent ordering, whereas length is).
I didn’t know this distinction exists, I also don’t know how consistant this is. All I can say from my perspective, from a language PoV length vs size mean basically the same thing in this context and they say nothing about whether the collection is ordered or not
AutoCloseableconsidered to be extended in one/some of the collection classes? (
Streamshould just be a copy-paste of the 2.12 one, with whatever changes are needed to fit it into the new design.
Streamwas reimplemented from scratch. We only had the new
LazyListat first and because
Streamis such a special case in the old collections due to the laziness it appeared easier to modify
LazyListthan to port the old code. I don't remember any particular difficulties doing that, it was indeed quite easy. If you want to replace
LazyListwith a completely new impementation I'd factor the shared parts in
Streamand use that for 2.13.