Code Smell: Remove duplicate logic for searching in sets
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
qvalentin 2022-04-22 14:14:04 +02:00
parent aef1acf43e
commit e4f1670742
Signed by: qvalentin
GPG key ID: C979FA1EAFCABF1C
5 changed files with 26 additions and 9 deletions

View file

@ -1,17 +1,19 @@
package datastructures.set;
import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Stream;
public interface CustomSet<T> {
Stream<T> stream();
boolean add(T value);
boolean remove(T value);
Optional<T> find(Predicate<T> predicate);
Set<T> getSet();
}

View file

@ -1,6 +1,8 @@
package datastructures.set;
import java.util.Optional;
import java.util.Set;
import java.util.function.Predicate;
import java.util.stream.Stream;
public class CustomStrictSet<T> implements CustomSet<T> {
@ -16,6 +18,11 @@ public class CustomStrictSet<T> implements CustomSet<T> {
return this.set.stream();
}
@Override
public Optional<T> find(Predicate<T> predicate) {
return set.stream().filter(predicate).findFirst();
}
@Override
public Set<T> getSet() {
return this.set;