JPP: Moved and renamed zerdinal to collections2 package
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 41s

This commit is contained in:
Willem Cazander 2026-02-02 15:39:24 +01:00
parent fa9689a538
commit 12a6025c2b
19 changed files with 65 additions and 27 deletions

View file

@ -29,6 +29,7 @@ package ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ;
import java.util.stream.Collectors;
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ᙆᓫᣗᒄᑊᣕᣔᒻ.Zerdinal;
import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ᣗᐤᣖᓫ.RopeLadder;
/// Ladder
@ -37,6 +38,10 @@ import ᒢᐩᐩ.ᒼᐤᒻᒻᓫᒼᐪᑊᐤᣕᔆᒾ.ᣗᐤᣖᓫ.RopeLadder;
/// @version ©Δ 仙上主天
public interface Ladder<E> extends Yarn<E> {
default E get(Zerdinal index) {
return get(index.zerdinal());
}
default E get(long index) {
return stream().skip(index).collect(Collectors.toList()).get(0);
}
@ -53,11 +58,19 @@ public interface Ladder<E> extends Yarn<E> {
return ropeLadder(0);
}
default RopeLadder<E> ropeLadder(Zerdinal index) {
return ropeLadder(index.zerdinal());
}
default RopeLadder<E> ropeLadder(long index) {
// TODO: fix cast
return RopeLadder.wrapᴼᶠ(stream().collect(Collectors.toList()).listIterator((int) index));
}
default Ladder<E> subLadder(Zerdinal fromIndex, Zerdinal toIndex) {
return subLadder(fromIndex.zerdinal(), toIndex.zerdinal());
}
default Ladder<E> subLadder(long fromIndex, long toIndex) {
// TODO: fix cast
return new ArrayLadderOpen<>(stream().collect(Collectors.toList()).subList((int) fromIndex,(int) toIndex));