Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cz.cvut.k36.pr2.hw.hw06.impl;
- import cz.cvut.k36.pr2.hw.hw06.Function;
- import cz.cvut.k36.pr2.hw.hw06.Pr2List;
- import cz.cvut.k36.pr2.hw.hw06.Predicate;
- /**
- *
- * @author Lukas
- */
- public class FilterView<T> extends View<T> {
- final Pr2List<T> source;
- final Predicate<T> predicate;
- public FilterView(Pr2List<T> source, Predicate<T> predicate) {
- this.source = source;
- this.predicate = predicate;
- }
- @Override
- public T head() {
- return predicate.apply(source.head());
- }
- @Override
- public Pr2List<T> tail() {
- return new FilterView(source.tail(), predicate);
- }
- @Override
- public boolean isEmpty() {
- return source.isEmpty();
- }
- @Override
- public int size() {
- return this.size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement