import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

/**
 * {@link <a href=
 * "https://[Log in to view URL]"
 * target= "_blank"></a>}
 * 
 * @author itammb ( Italia Massimiliano Buscati )
 * @version JDK 1.15
 *
 */
class Main {

	private static class UniTest {

		/**
		 * @see Predicate#test(Object)
		 */
		public void function_filter(List<Integer> source) {

			Predicate<Integer> filter = i -> i > 0;

			List<Integer> store = new ArrayList<Integer>();
			for (Integer element : source)
				if (filter.test(element))
					store.add(element);

			store.forEach(System.out::println);
		}

		/**
		 * @see Predicate#and(Predicate)
		 */
		public void function_and(List<Integer> source) {

			Predicate<Integer> filter = i -> i > 0;
			Predicate<Integer> filterOther = i -> i > 10;

			List<Integer> store = new ArrayList<Integer>();
			for (Integer element : source)
				// 0 < i and i > 10
				if (filter.and(filterOther).test(element))
					store.add(element);

			store.forEach(System.out::println);
		}

		/**
		 * @see Predicate#or(Predicate)
		 */
		public void function_or(List<Integer> source) {

			Predicate<Integer> filter = i -> i > 0;
			Predicate<Integer> filterOther = i -> i > 10;

			List<Integer> store = new ArrayList<Integer>();
			for (Integer element : source)
				// 0 < i or i < 10
				if (filter.or(filterOther).test(element))
					store.add(element);

			store.forEach(System.out::println);
		}

		/**
		 * @see Predicate#not(Predicate)
		 */
		public void function_not(List<Integer> source) {

			Predicate<Integer> filter = i -> i > 0;
			Predicate<Integer> filterOther = i -> i > 10;

			List<Integer> store = new ArrayList<Integer>();
			for (Integer element : source)
				// ! (i > 0)
				if (filter.negate().test(element))
					store.add(element);

			store.forEach(System.out::println);

			if (filter.equals(filterOther))
				System.out.println(" equals");
			else
				System.out.println(" not equals");

		}

		/**
		 * @see Predicate#equals(Object)
		 */
		public void function_equals() {

			Predicate<Integer> filter = i -> i > 0;
			Predicate<Integer> filterOther = i -> i > 10;

			if (filter.equals(filterOther))
				System.out.println(" equals");
			else
				System.out.println(" not equals");
		}

		public static List<Integer> createTest() {
			// elementi in serie
			return Arrays.asList(Integer.valueOf(1), Integer.valueOf(10), Integer.valueOf(200), Integer.valueOf(101),
					Integer.valueOf(-10), Integer.valueOf(0));
		};
	}

	public static void main(String args[]) {
		// Unit test - filtra una sorgente dati
		new UniTest().function_filter(UniTest.createTest());

		// Unit test - filtra una sorgente dati ( and logico )
		new UniTest().function_and(UniTest.createTest());

		// Unit test - filtra una sorgente dati ( or logico )
		new UniTest().function_or(UniTest.createTest());

		// Unit test - filtra una sorgente dati (not logico )
		new UniTest().function_not(UniTest.createTest());

		// Unit test - paragona due filtri
		new UniTest().function_equals();

	}
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: