Skip to content

Commit 966bcab

Browse files
committed
add more linkedlist methods
1 parent eae5a60 commit 966bcab

File tree

1 file changed

+12
-1
lines changed
  • common/api/src/main/java/com/dfsek/terra/api/util/generic/data

1 file changed

+12
-1
lines changed

common/api/src/main/java/com/dfsek/terra/api/util/generic/data/LinkedList.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public sealed interface LinkedList<T> extends Monad<T, LinkedList<?>>, Monoid<T,
1717

1818
@Override
1919
default <T1> LinkedList<T1> pure(T1 t) {
20-
return new Cons<>(t, empty());
20+
return of(t);
2121
}
2222

2323
@Override
@@ -32,12 +32,18 @@ default Maybe<T> head() {
3232
return get(0);
3333
}
3434

35+
LinkedList<T> tail();
36+
3537
int length();
3638

3739
Maybe<T> get(int index);
3840

3941
LinkedList<T> add(T value);
4042

43+
default LinkedList<T> prepend(T value) {
44+
return new Cons<>(value, this);
45+
}
46+
4147
<C extends Collection<T>> C toCollection(C collection);
4248

4349
default List<T> toList() {
@@ -115,6 +121,11 @@ public <U> LinkedList<U> map(Function<T, U> map) {
115121
return (LinkedList<U>) this;
116122
}
117123

124+
@Override
125+
public LinkedList<T> tail() {
126+
return this;
127+
}
128+
118129
@Override
119130
public int length() {
120131
return 0;

0 commit comments

Comments
 (0)