mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 10:30:42 +00:00
add more linkedlist methods
This commit is contained in:
@@ -17,7 +17,7 @@ public sealed interface LinkedList<T> extends Monad<T, LinkedList<?>>, Monoid<T,
|
||||
|
||||
@Override
|
||||
default <T1> LinkedList<T1> pure(T1 t) {
|
||||
return new Cons<>(t, empty());
|
||||
return of(t);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -32,12 +32,18 @@ public sealed interface LinkedList<T> extends Monad<T, LinkedList<?>>, Monoid<T,
|
||||
return get(0);
|
||||
}
|
||||
|
||||
LinkedList<T> tail();
|
||||
|
||||
int length();
|
||||
|
||||
Maybe<T> get(int index);
|
||||
|
||||
LinkedList<T> add(T value);
|
||||
|
||||
default LinkedList<T> prepend(T value) {
|
||||
return new Cons<>(value, this);
|
||||
}
|
||||
|
||||
<C extends Collection<T>> C toCollection(C collection);
|
||||
|
||||
default List<T> toList() {
|
||||
@@ -115,6 +121,11 @@ public sealed interface LinkedList<T> extends Monad<T, LinkedList<?>>, Monoid<T,
|
||||
return (LinkedList<U>) this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LinkedList<T> tail() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int length() {
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user