From 10ea328b053b53e10af66cb0286564f6ee0d5f7f Mon Sep 17 00:00:00 2001 From: Klemek Date: Thu, 22 Mar 2018 20:26:08 +0100 Subject: [PATCH] BetterLists 1.1 clean code with sonarlint --- README.md | 27 ++++++++++-- download/betterlists-1.0-sources.jar | Bin 45811 -> 0 bytes download/betterlists-1.1.jar | Bin 0 -> 7482 bytes .../klemek/betterlists/BetterArrayList.java | 5 +-- .../klemek/betterlists/BetterLinkedList.java | 5 +-- src/fr/klemek/betterlists/BetterList.java | 41 ++++++------------ src/fr/klemek/betterlists/BetterStack.java | 3 +- src/fr/klemek/betterlists/BetterVector.java | 5 +-- 8 files changed, 44 insertions(+), 42 deletions(-) delete mode 100644 download/betterlists-1.0-sources.jar create mode 100644 download/betterlists-1.1.jar 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 8c8ede1ca7fa53be382833b75467297c4afed4f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45811 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 O{C5Y4=tG~PU;iJ|%ib#h diff --git a/download/betterlists-1.1.jar b/download/betterlists-1.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..f8ce55a0d159c69781ffd5d7098a91c32f3db5fa GIT binary patch literal 7482 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 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); } }