|
@@ -46,6 +46,19 @@ public final class ConsListFactory {
|
|
|
*/
|
|
|
@SafeVarargs
|
|
|
public static <T> ConsList<T> asList(T... ts) {
|
|
|
- throw new UnsupportedOperationException();
|
|
|
+ //Si liste vide
|
|
|
+ if(ts.length == 0) {
|
|
|
+ return nil();
|
|
|
+ }
|
|
|
+ //Si 1 element
|
|
|
+ else if(ts.length == 1) {
|
|
|
+ return singleton(ts[0]);
|
|
|
+ }
|
|
|
+ //Si +sieurs elements
|
|
|
+ ConsList<T> list = new ConsListImpl<>(ts[ts.length - 1], null);
|
|
|
+ for(int i = ts.length - 2; i > -1; i--) {
|
|
|
+ list = list.prepend(ts[i]);
|
|
|
+ }
|
|
|
+ return list;
|
|
|
}
|
|
|
}
|