diff --git a/README.md b/README.md index 2fe3ede..03ede3b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ An extension of the java.util.List interface which include some of the C# LINQ u List classes are extended as well. (ArrayList -> BetterArrayList) -Current version v1.0 +Current version v1.1 Before BetterLists : ```Java @@ -30,8 +30,29 @@ NOTE : Please note that, unlike C# LINQ, these functions are not optimized at lo ## Download -* [betterlists-1.0.jar](../../raw/master/download/betterlists-1.0.jar) -* [betterlists-1.0-sources.jar](../../raw/master/download/betterlists-1.0-sources.jar) +* [betterlists-1.1.jar](../../raw/master/download/betterlists-1.0.jar) + +## Maven + +You can use this project as a maven dependency with this : +```XML + +... + + klemek.betterlists + https://github.com/klemek/betterlists/raw/mvn-repo + + +... + +... + + klemek + betterlists + 1.1 + + +``` ## All code examples ### List diff --git a/download/betterlists-1.0-sources.jar b/download/betterlists-1.0-sources.jar deleted file mode 100644 index 8c8ede1..0000000 Binary files a/download/betterlists-1.0-sources.jar and /dev/null differ diff --git a/download/betterlists-1.1.jar b/download/betterlists-1.1.jar new file mode 100644 index 0000000..f8ce55a Binary files /dev/null and b/download/betterlists-1.1.jar differ diff --git a/src/fr/klemek/betterlists/BetterArrayList.java b/src/fr/klemek/betterlists/BetterArrayList.java index 9e33fbe..0591b2e 100644 --- a/src/fr/klemek/betterlists/BetterArrayList.java +++ b/src/fr/klemek/betterlists/BetterArrayList.java @@ -2,7 +2,6 @@ package fr.klemek.betterlists; import java.util.ArrayList; import java.util.Collection; -import java.util.List; /** * An extension of the java.util.ArrayList class which include some of the C# @@ -24,7 +23,7 @@ public class BetterArrayList extends ArrayList implements BetterList { * - the collection whose elements are to be placed into this list */ public static BetterArrayList fromList(Collection c) { - return new BetterArrayList(c); + return new BetterArrayList<>(c); } /** @@ -78,6 +77,6 @@ public class BetterArrayList extends ArrayList implements BetterList { */ @Override public BetterArrayList subList(int fromIndex, int toIndex) { - return (BetterArrayList) ((List) this).subList(fromIndex, toIndex); + return (BetterArrayList) this.subList(fromIndex, toIndex); } } diff --git a/src/fr/klemek/betterlists/BetterLinkedList.java b/src/fr/klemek/betterlists/BetterLinkedList.java index 33fa469..553624b 100644 --- a/src/fr/klemek/betterlists/BetterLinkedList.java +++ b/src/fr/klemek/betterlists/BetterLinkedList.java @@ -2,7 +2,6 @@ package fr.klemek.betterlists; import java.util.Collection; import java.util.LinkedList; -import java.util.List; /** * An extension of the java.util.LinkedList class which include some of the C# @@ -24,7 +23,7 @@ public class BetterLinkedList extends LinkedList implements BetterList * - the collection whose elements are to be placed into this list */ public static BetterLinkedList fromList(Collection c) { - return new BetterLinkedList(c); + return new BetterLinkedList<>(c); } /** @@ -68,7 +67,7 @@ public class BetterLinkedList extends LinkedList implements BetterList */ @Override public BetterLinkedList subList(int fromIndex, int toIndex) { - return (BetterLinkedList) ((List) this).subList(fromIndex, toIndex); + return (BetterLinkedList) this.subList(fromIndex, toIndex); } } diff --git a/src/fr/klemek/betterlists/BetterList.java b/src/fr/klemek/betterlists/BetterList.java index b520011..9c991d5 100644 --- a/src/fr/klemek/betterlists/BetterList.java +++ b/src/fr/klemek/betterlists/BetterList.java @@ -1,7 +1,6 @@ package fr.klemek.betterlists; import java.util.Collections; -import java.util.Comparator; import java.util.List; import java.util.NoSuchElementException; import java.util.function.Function; @@ -82,7 +81,7 @@ public interface BetterList extends List { * in the other. */ public default BetterList exclusion(List other) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); for (T element : this) if (!other.contains(element)) out.add(element); @@ -274,16 +273,9 @@ public interface BetterList extends List { * @return a List whose elements are sorted according to a key. */ public default > BetterList orderBy(Function selector){ - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); out.addAll(this); - Collections.sort(out, new Comparator() { - - @Override - public int compare(T o1, T o2) { - return selector.apply(o1).compareTo(selector.apply(o2)); - } - - }); + Collections.sort(out, (o1,o2) -> selector.apply(o1).compareTo(selector.apply(o2))); return out; } @@ -294,16 +286,9 @@ public interface BetterList extends List { * @return a List whose elements are sorted according to a key. */ public default > BetterList orderByDescending(Function selector){ - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); out.addAll(this); - Collections.sort(out, new Comparator() { - - @Override - public int compare(T o1, T o2) { - return selector.apply(o2).compareTo(selector.apply(o1)); - } - - }); + Collections.sort(out, (o1,o2) -> selector.apply(o2).compareTo(selector.apply(o1))); return out; } @@ -314,7 +299,7 @@ public interface BetterList extends List { * reverse order. */ public default BetterList reverse() { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(this.size()); for (T element : this) out.add(0, element); return out; @@ -331,7 +316,7 @@ public interface BetterList extends List { * function on each element of the sequence. */ public default BetterList select(Function selector) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); for (T element : this) out.add(selector.apply(element)); return out; @@ -348,7 +333,7 @@ public interface BetterList extends List { * index in the sequence. */ public default BetterList skip(int count) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); int n = 0; for (T element : this) { if (n >= count) @@ -369,7 +354,7 @@ public interface BetterList extends List { * specified by predicate. */ public default BetterList skipWhile(Function predicate) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); boolean match = true; for (T element : this) if (!match || !predicate.apply(element)) { @@ -405,7 +390,7 @@ public interface BetterList extends List { * of the input sequence. */ public default BetterList take(int count) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(count); int n = 0; for (T element : this) { if (n < count) @@ -426,7 +411,7 @@ public interface BetterList extends List { * the element at which the test no longer passes. */ public default BetterList takeWhile(Function predicate) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); for (T element : this) if (predicate.apply(element)) out.add(element); @@ -445,7 +430,7 @@ public interface BetterList extends List { * duplicates. */ public default BetterList union(List other) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); for (T element : this) if (other.contains(element)) out.add(element); @@ -461,7 +446,7 @@ public interface BetterList extends List { * condition. */ public default BetterList where(Function predicate) { - BetterList out = new BetterArrayList(); + BetterList out = new BetterArrayList<>(); for (T element : this) if (predicate.apply(element)) out.add(element); diff --git a/src/fr/klemek/betterlists/BetterStack.java b/src/fr/klemek/betterlists/BetterStack.java index f33c967..16904f0 100644 --- a/src/fr/klemek/betterlists/BetterStack.java +++ b/src/fr/klemek/betterlists/BetterStack.java @@ -1,6 +1,5 @@ package fr.klemek.betterlists; -import java.util.List; import java.util.Stack; /** @@ -45,7 +44,7 @@ public class BetterStack extends Stack implements BetterList { */ @Override public BetterStack subList(int fromIndex, int toIndex) { - return (BetterStack) ((List) this).subList(fromIndex, toIndex); + return (BetterStack) this.subList(fromIndex, toIndex); } } diff --git a/src/fr/klemek/betterlists/BetterVector.java b/src/fr/klemek/betterlists/BetterVector.java index fddf1bf..9ee200e 100644 --- a/src/fr/klemek/betterlists/BetterVector.java +++ b/src/fr/klemek/betterlists/BetterVector.java @@ -1,7 +1,6 @@ package fr.klemek.betterlists; import java.util.Collection; -import java.util.List; import java.util.Vector; /** @@ -24,7 +23,7 @@ public class BetterVector extends Vector implements BetterList { * - the collection whose elements are to be placed into this vector */ public static BetterVector fromList(Collection c) { - return new BetterVector(c); + return new BetterVector<>(c); } /** @@ -94,7 +93,7 @@ public class BetterVector extends Vector implements BetterList { */ @Override public BetterVector subList(int fromIndex, int toIndex) { - return (BetterVector) ((List) this).subList(fromIndex, toIndex); + return (BetterVector) this.subList(fromIndex, toIndex); } }